如何从该类访问某个类的子类中定义的变量?

问题描述

我在某个地方定义了一个基类,该基类可由某些用户扩展。

现在,我想访问该用户在其子类中可能定义的变量,以便我可以对其进行处理。

我尝试使用metaclass es

解决此问题

这里是示例设置:

class Meta(type):
    def __new__(cls,name,bases,attrs):
        clsobj = super().__new__(cls,attrs)
        print(f'the name of this class is {clsobj.NAME.upper()}')
        return clsobj


class Base(metaclass=Meta):
    pass

class C1(Base):
    NAME = "C1"

if __name__ == "__main__":
    c1 = C1()

但是我遇到以下错误:

AttributeError: type object 'Base' has no attribute 'NAME'

Base类既不应了解其sublcass变量,而应仅访问它们。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)