我有两个紧密耦合的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