我可以在其他类(A)的方法中访问类(B)的类级别属性,但无法在类A的类级别访问该属性。可以通过在A之后定义B来解决此问题,但是为什么会这样呢?我怎样才能在A类课程之后进入B类课程。
我正在寻找没有类继承并且没有在类A内部创建类B的对象的解决方案__init__
。
在这里查看代码:
class A:
a=B.b # This doesn't work
def __init__(self):
print(B.b) #This works
class B:
b=[1,2,3]
假设您在定义时不需要使用该属性A
(例如,用于默认参数),则可以稍后进行分配:
class A:
def __init__(self):
print(B.b)
class B:
b=[1,2,3]
A.a=B.b
甚至
class A:
def __init__(self):
print(B.b)
class B:
A.a=b=[1,2,3]
如果您认为这些类之间的关系如此紧密,以至于在一个内部另一个内部进行分配比在两个外部外部进行分配都不足为奇。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句