首页 > 解决方案 > 为什么 python 元类在这段代码中不起作用?

问题描述

class My_meta(type):

    def hello(cls):
        print("hey")

class Just_a_class(metaclass=My_meta):
    pass

a = Just_a_class()
a.hello() 

上面的代码给出:

AttributeError:“Just_a_class”对象没有属性“你好”

请提出更改以使其正常工作。谢谢。

标签: pythonpython-3.xmetaclass

解决方案


元类中的方法由类对象继承,而不是类实例。你可以这样调用函数:

Just_a_class.hello()
// or
a = Just_a_class()
a.__class__.hello()

推荐阅读