访问另一个 class 的 class 级别属性?
Access class level attribute of another class?
我可以在另一个 class (A) 的方法中访问一个 class (B) 的 class 级属性,但我无法在 class- class A 的水平。
这个问题可以通过在 A 之后定义 B 来解决,但为什么会这样,我如何访问在 class A 之后保持 class B。
我正在寻找没有 class 继承且没有在 class A 的 __init__
中创建 class B 对象的解决方案。
在此处查看代码:
class A:
a=B.b # This doesn't work
def __init__(self):
print(B.b) #This works
class B:
b=[1,2,3]
假设您在定义 A
时不需要 使用 属性( 例如 ,作为默认参数) , 你可以只分配它 later:
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]
如果您认为 类 如此密切相关,以至于对其中一个的赋值比对两者之外的赋值更令人惊讶。
我可以在另一个 class (A) 的方法中访问一个 class (B) 的 class 级属性,但我无法在 class- class A 的水平。 这个问题可以通过在 A 之后定义 B 来解决,但为什么会这样,我如何访问在 class A 之后保持 class B。
我正在寻找没有 class 继承且没有在 class A 的 __init__
中创建 class B 对象的解决方案。
在此处查看代码:
class A:
a=B.b # This doesn't work
def __init__(self):
print(B.b) #This works
class B:
b=[1,2,3]
假设您在定义 A
时不需要 使用 属性( 例如 ,作为默认参数) , 你可以只分配它 later:
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]
如果您认为 类 如此密切相关,以至于对其中一个的赋值比对两者之外的赋值更令人惊讶。