Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套Python类定义的问题:使用相同语法定义了两个类,但其中一个会引发;“未定义名称”;错误_Python_Class_Initialization - Fatal编程技术网

嵌套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
也有所有的参数
子层
有..)