除了“不要那样做,您正在将自己绘画到一个角落”之外,您还可以推迟B的导入,直到需要它为止。档案a.py
:
class A:
def __init__(self, ref):
from b import B
assert isinstance(ref, B)
self.ref = ref
B
在实例化类之前A
,类不会被导入,届时模块已经被模块完全导入了b
。
您还可以使用一个通用的基类并对此进行测试。
解决python中的循环导入错误
除了“不要那样做,您正在将自己绘画到一个角落”之外,您还可以推迟B的导入,直到需要它为止。档案a.py
:
class A:
def __init__(self, ref):
from b import B
assert isinstance(ref, B)
self.ref = ref
B
在实例化类之前A
,类不会被导入,届时模块已经被模块完全导入了b
。
您还可以使用一个通用的基类并对此进行测试。