use*_*220 5 python nested inner-classes
这不起作用:
class A:
a1 = 4
class B:
b1 = A.a1 # Fails
b2 = 6
class C:
c1 = A.B.b2 # Fails
Run Code Online (Sandbox Code Playgroud)
有任何非神秘的方法可以解决吗?我知道我可以将B和C从A中取出,但我想保留它们。我还认为,没有类成员会更容易,因为它们可以轻松地作为构造函数中的参数传递给嵌套类,但是作为所有这些类成员,我不知道如何在这里做类似的事情。我还读过一些线程,这种用法记得使用类作为名称空间,应该使用模块而不是类来解决,但是上面的类对我来说是真实的类(我构造实例),另外还要共享类数据其中。
由于两个不同的原因,此操作失败了。一是当你尝试访问时还A没有准备好给你。A.a1BNameError
如果你使用子类解决这个问题。以下将起作用:
class A:
a1 = 4
class _A(A):
class B:
b1 = A.a1 # Fails
b2 = 6
Run Code Online (Sandbox Code Playgroud)
然而,由于没有 attribute ,访问A.B.b2inC仍然无法工作。你会得到一个。ABAttributeError
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |