class Spam:
numInstances = 0
def __init__(self):
Spam.numInstances = Spam.numInstances + 1
def printNumInstances():
print("Number of instances created: %s" % Spam.numInstances)
x = Spam()
x.printNumInstances()
这给了我一个错误:
Traceback (most recent call last):
File "main.py", line 9, in <module>
x.printNumInstances()
TypeError: printNumInstances() takes 0 positional arguments but 1 was given
我不明白为什么。你知道吗
我想应该是打印“1”。你知道吗
您需要在“printNumInstances()”方法中添加“self”。你知道吗
见下文
您已将
printNumInstances
声明为静态方法,但将其作为实例方法调用。你知道吗我想你想要
Spam.printNumInstances()
(虽然它应该是一个classmethod,但如果我正确理解了代码,请参阅:What is the difference between @staticmethod and @classmethod?)
相关问题 更多 >
编程相关推荐