我想从__init__
内调用类方法addInstances
,而不重复类名Foo
。在
class Foo():
myInstances = {}
@classmethod
def addInstance(cls, name, obj):
cls.myInstances[name]=obj
def __init__(self, name):
Foo.addInstance(name, self) # class name "Foo" is repeated
#use the class
if __name__ == "__main__":
Foo('testName')
print(Foo.myInstances)
上面的代码实现了我期望的效果。但是“Foo
”重复出现。在
更换管路
^{pr2}$与
cls.addInstance(name, self)
导致NameError: name 'cls' is not defined
。在
只要你不把addInstance重写为简单的方法
也可以。在
<><> E> CLS这就是为什么必须将它们分别显式地传递给类方法和方法
你也可以写信
^{pr2}$相关问题 更多 >
编程相关推荐