嵌套Python类定义的问题:使用相同语法定义了两个类,但其中一个会引发;“未定义名称”;错误
我用教科书语法定义了两个包含嵌套类的类,显然(对我来说)是相同的。然而,其中一个出现了未定义的名称错误,我不明白为什么嵌套Python类定义的问题:使用相同语法定义了两个类,但其中一个会引发;“未定义名称”;错误,python,class,initialization,Python,Class,Initialization,我用教科书语法定义了两个包含嵌套类的类,显然(对我来说)是相同的。然而,其中一个出现了未定义的名称错误,我不明白为什么 class Game: class Hand: def __init__(self, players, dealer, count): self.players = players self.dealer = dealer self.count = count de
class Game:
class Hand:
def __init__(self, players, dealer, count):
self.players = players
self.dealer = dealer
self.count = count
def __init__(self, rules):
self.rules = rules
self.hand = self.Hand(players, dealer, count)
class Player:
class SubPlayer:
def __init__(self, name, cards, cards_sum, hand):
self.name = name
self.cards = cards
self.cards_sum = cards_sum
self.hand = hand
def __init__(self, name, stack, bet, cards, cards_sum, hand, subPlayers, is_insured):
self.name = name
self.stack = stack
self.bet = bet
self.cards = cards
self.cards_sum = cards_sum
self.hand = hand
self.subPlayers = subPlayers
self.is_insured = is_insured
self.subPlayer = self.SubPlayer(name, cards, cards_sum, hand)
这些错误是在Game类的init函数中出现的,我尝试将其连接到Hand嵌套类,特别是行“self.Hand=self.Hand(players,dealer,count)”。错误读取未定义的玩家、经销商、计数名称。Player类运行得很好,我已经在我的程序中使用了它。为什么会这样?我怎么修理它
谢谢
游戏
的\uuuu init\uuuu
功能没有玩家、经销商、计数的参数
将其定义修改为:
def\uuuuu init\uuuuuuu(自我、规则、玩家、经销商、计数):
self.rules=规则
self.hand=self.hand(玩家、经销商、计数)
(就像Player
的\uuuu init\uuuu
也有所有的参数子层
有..)