gpt4 book ai didi

python:嵌套类:访问外部类类成员

转载 作者:太空狗 更新时间:2023-10-30 02:56:43 25 4
gpt4 key购买 nike

这不起作用:

class A:
a1 = 4

class B:
b1 = A.a1 # Fails
b2 = 6

class C:
c1 = A.B.b2 # Fails

有什么不神秘的方法可以解决吗?我知道我可以从 A 中取出 B 和 C,但我想让它们嵌入。我还认为没有类成员会更容易,因为它们可以很容易地作为构造函数中的参数传递给嵌套类,但是作为所有类成员,我不知道如何在这里做一些类似的事情。我还在一些线程上读到,这种用法记得使用类作为命名空间,应该使用模块而不是类来解决,但是上面的类对我来说是真实的类(我构造实例),除了我想分享的类数据其中。

最佳答案

您可以将 B 的定义推迟到 A 完全定义,并将 C 推迟到 AA.B 被定义。

class A:
a1 = 4

class B:
b1 = A.a1
b2 = 6
A.B = B
del B

class C:
c1 = A.B.b2
A.C = C
del C

assert A.B.b1 == 4
assert A.C.c1 == 6

或者,您可以在 B 的定义之外定义 B.b1:

class A:
a1 = 4

class B:
pass
B.b1 = a1
B.b2 = 6

class C:
pass
C.c1 = B.b2

assert A.B.b1 == 4
assert A.C.c1 == 6

关于python:嵌套类:访问外部类类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39537508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com