Python:如何计算创建的对象数量?

Hag*_*ble 5 python static object count

我是Python的新手.我的问题是,在任何给定时间内,为了跟踪对象数量而计算python对象数量的最佳方法是什么?我想过使用一个静态变量.

我已经阅读了几个关于Python的静态变量的问答,但我无法弄清楚如何使用静态实现对象计数.

我的尝试就像这样(下图),从我的C++背景来看,我期待这个工作,但事实并非如此.我不是iMenuNumber一个静态成员,每次创建一个对象时它都会增加?

class baseMENUS:
    """A class used to display a Menu"""

    iMenuNumber = 0

    def __init__ (self, iSize):
        self.iMenuNumber = self.iMenuNumber + 1
        self.iMenuSize = iSize

def main():
   objAutoTester = baseMENUS(MENU_SIZE_1)
   ....
   ....
   ....
   objRunATest = baseMENUS(MENU_SIZE_2)
Run Code Online (Sandbox Code Playgroud)

我还没有编写delete(del)函数(析构函数).

Thi*_*ter 16

使用self.__class__.iMenuNumberbaseMENUS.iMenuNumber代替self.iMenuNumber在类而不是实例上设置var.

另外,匈牙利表示法不是pythonic(实际上,它在所有语言中都很糟糕) - 您可能想要停止使用它.有关代码样式的建议,请参见http://www.python.org/dev/peps/pep-0008/.