我做 Python 已经有一段时间了,我总是有点理解元类的含义,但我从来不需要元类。现在我认为解决我的问题的最佳方法是元类(如果有更好的方法,请纠正我)。
我正在尝试创建一个系统,它会自动为我的每个类添加一个类变量n
和一个列表。instances
这是一个类的简化示例:
class Foo:
n = 0
instances = []
def __init__(self):
self.index = Foo.n
Foo.n += 1
Foo.instances.append(self)
这种结构应该为我的 7 或 8 个类实现,我认为元类可能会帮助我。我知道我可以使用Foo.__metaclass__ = MyMetaclass
属性来使用元类,但是如何创建元类呢?