为什么打印“创建的实例数:0”而不是“创建的实例数:3”?

问题描述 投票:0回答:1

这是spam.py:

  class Spam:
        numInstances = 0
        def __init__(self):
            Spam.numIntances = Spam.numInstances + 1
        def printNumInstances():
            print("Number of instances created: %s" % Spam.numInstances)

这是另一个文件。py:

from spam import Spam
a = Spam()
b = Spam()
c = Spam()

Spam.printNumInstances()

a.printNumInstances()

为什么打印“创建的实例数:0”而不是“创建的实例数:3”?

python
1个回答
0
投票
class Spam: numInstances = 0 def __init__(self): Spam.numInstances = Spam.numInstances + 1 @classmethod def printNumInstances(cls): print("Number of instances created: %s" % cls.numInstances) a = Spam() b = Spam() c = Spam() Spam.printNumInstances() a.printNumInstances()

0
投票
(此外,您的文字中有错别字。self.numIntances-在以下代码中已纠正)
© www.soinside.com 2019 - 2024. All rights reserved.