什么是Python中的元类?什么是元类,我们用它们做什么?
5 回答
精慕HU
TA贡献1845条经验 获得超8个赞
其他人已经解释了元类如何工作以及它们如何适合Python类型系统。这是他们可以使用的一个例子。在我编写的测试框架中,我想跟踪定义类的顺序,以便稍后我可以按此顺序实例化它们。我发现使用元类这样做最容易。
class MyMeta(type): counter = 0 def __init__(cls, name, bases, dic): type.__init__(cls, name, bases, dic) cls._order = MyMeta.counter MyMeta.counter += 1class MyType(object): # Python 2 __metaclass__ = MyMetaclass MyType(metaclass=MyMeta): # Python 3 pass
凡是是的子类,MyType
然后得到一个类属性_order
,它记录在其中的类中定义的顺序。
添加回答
举报
0/150
提交
取消