如何确定特定类的对象数量?

Dav*_*Gay 4 python

返回类的现有对象数的最佳方法是什么?

例如,如果我构造了4个MyClass对象,那么返回的值应为4.我个人使用的是ID系统.我希望类的构造函数在每次构造类的新对象时分配下一个ID号.

在此先感谢任何指导!

Nik*_* B. 6

最简单的方法是在类范围内管理一个计数器:

import itertools

class MyClass(object):
    get_next_id = itertools.count().next

    def __init__(self):
        self.id = self.get_next_id()
Run Code Online (Sandbox Code Playgroud)

这将为每个实例分配一个新ID:

>>> MyClass().id
0
>>> MyClass().id
1
>>> MyClass().id
2
>>> MyClass().id
3
Run Code Online (Sandbox Code Playgroud)