我必须拥有将彼此的实例作为属性的Python类
class A:
def __init__(self, b: B) -> None:
self.b = a
class B:
def __init__(self, a: A) -> None:
self.a = a
如果这些类在同一个文件中定义,则可以正常工作,但就我而言,它们都很大,因此我想将它们移到单独的文件中。但是,如果这样做,我将必须将B
导入a.py
并将A
导入b.py
,这将导致循环导入错误。有人知道我可以使用A
和B
放在单独的文件中,保持类型提示并遇到循环导入错误的情况吗?
答案 0 :(得分:0)
是的。 Python ignores type hints in quotes:
class A:
def __init__(self, b: 'B') -> None:
self.b = a
class B:
def __init__(self, a: 'A') -> None:
self.a = a