Python 如何从内部类构造函数访问外部类的静态成员?
如何使其工作:Python 如何从内部类构造函数访问外部类的静态成员?,python,Python,如何使其工作: class ABC(object): C1 = 1 class DEF(object): def __init__(self, v=ABC.C1): self.v = v a = ABC() 从内部类DEF中,我无法访问常量“C1”。我试着单独使用“ABC.C1”和“C1”,但没有效果 请告知。我建议您不要嵌套类。你为什么这么做?永远没有理由这么做。这项工作: >>> class ABC(objec
class ABC(object):
C1 = 1
class DEF(object):
def __init__(self, v=ABC.C1):
self.v = v
a = ABC()
从内部类DEF中,我无法访问常量“C1”。我试着单独使用“ABC.C1”和“C1”,但没有效果
请告知。我建议您不要嵌套类。你为什么这么做?永远没有理由这么做。这项工作:
>>> class ABC(object):
... C1 = 1
...
>>> class DEF(object):
... def __init__(self, v=ABC.C1):
... self.v = v
...
>>> a = ABC()
>>> d = DEF()
>>> d.v
1
代码不起作用的原因是ABC还不存在,因为它还没有被构造。您不能从ABC类自身的构造中访问它,它直到最后才被创建。感谢您的澄清。不过我是这样解决的:def uuu init uuu(self,v=None):如果v是None:v=ABC.c1是的,这也行。尽管如此,仍然不需要嵌套类,完全不需要。如果你解释一下为什么你认为你需要它,这可能会很有用。