访问另一个 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]

如果您认为 类 如此密切相关,以至于对其中一个的赋值比对两者之外的赋值更令人惊讶。