@bgporter对该行为进行了很好的解释,我将介绍其中的
原因 :
如果您的类变量位于中
B.__dict__,它将如何起作用?每个子类都有其自己的值
a,而与的值无关
A.a-这不是您所期望的。一个类变量应该只存在一次-
在该类中。
相反,Python在该类上进行查找,如果不存在,则查找其基类-注意,这意味着可以在子类中隐藏类变量。

@bgporter对该行为进行了很好的解释,我将介绍其中的
原因 :
如果您的类变量位于中
B.__dict__,它将如何起作用?每个子类都有其自己的值
a,而与的值无关
A.a-这不是您所期望的。一个类变量应该只存在一次-
相反,Python在该类上进行查找,如果不存在,则查找其基类-注意,这意味着可以在子类中隐藏类变量。