gpt4 book ai didi

Python 类继承、__init__ 和 cls

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:59 25 4
gpt4 key购买 nike

代码所需的输出是我有一个类变量 Team.stuff,其中有一个条目保存 b 实例,并且 Player.stuff 变量应该为空。相反,我收到一个错误...

class Player:
stuff=[]
def __init__(self):
cls.stuff.append(self)

class Team(Player):
def __init__(self):
super(Team, self).__init__()

b=Team()

错误

cls.stuff.append(self)
NameError: global name 'cls' is not defined

我可以在Team.__init__()中传递cls变量,但我不确定这是否是“正确”的方式,更重要的是Player.__init__( ) 需要一个类变量,我不确定如何做到这一点的语法。

最佳答案

class Player(object):
stuff=[]
def __init__(self):
self.stuff.append(self)

class Team(Player):
def __init__(self):
super(Team, self).__init__()

b = Team()
print(Team.stuff)

打印(类似)

[<__main__.Team object at 0xb7519dec>]

关于Python 类继承、__init__ 和 cls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19301330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com