我今天早些时候问了一个问题,我只想解决我的问题。我期待使用元类,但得到了一些不同的东西并且它起作用了。但是,现在我对与我之前的问题相关的东西感兴趣:为什么我的元类不起作用?
这是我上一个问题的链接,但您不需要阅读它来回答这个问题:如何创建一个简单的元类?
所以让我再次问这个问题,这一次是出于完全不同的原因:我如何创建一个简单的元类?这就是我所拥有的,我不明白为什么它不起作用。
class MyMeta(type):
def __new__(mcls, name, bases, attrs):
attrs['my_attr'] = True
return super().__new__(mcls, name, bases, attrs)
class MyClass:
__metaclass__ = MyMeta
print(MyClass.my_attr)
最后一行打印以下错误:
AttributeError: type object 'MyClass' has no attribute 'my_attr'