我有两个紧密耦合的python类,它们需要相互引用(在类级别,而不是实例级别)。如何解决循环导入?理想的是,我希望能够使它在同一模块内工作,或者在两个不同的模块之间工作,但我会为一个或另一个模块而定。

# yin_yang.py

class MyYin(Yin):
    __yang__ = MyYang

class MyYang(Yang):
    __yin__ = MyYin

最佳答案

在声明了一个或两个类之后,可以设置类属性。

class MyYin(Yin):
    pass

class MyYang(Yang):
    __yin__ = MyYin

MyYin.__yang__ = MyYang

09-07 10:34