循环导入和注释
Circular imports and annotations
如果我想在两个 classes 中使用注释,在不同的模块中是交叉的吗?
from BModule import B
class A:
def method(self, b: B):
pass
~
from AModule import A
class B:
def method(self, a: A):
pass
我有一个ImportError: cannot import name 'B'
?但是,如果我需要对此进行注释,该怎么办?
此外,如果我只是导入 AModule\BModule 并使用 class 作为模块 AModule.A
的属性,我得到 AttributeError: module 'BModule' has no attribute 'B'
是什么在强制依赖?在我看来,在这种情况下,任何采用 B
的 A
方法都可以作为采用 A
的 B
上的方法来实现,因此请使用以下方法之一class 是 "main" class 并使用那个 class 来操作另一个 class 的对象,是否有意义?
如果我想在两个 classes 中使用注释,在不同的模块中是交叉的吗?
from BModule import B
class A:
def method(self, b: B):
pass
~
from AModule import A
class B:
def method(self, a: A):
pass
我有一个ImportError: cannot import name 'B'
?但是,如果我需要对此进行注释,该怎么办?
此外,如果我只是导入 AModule\BModule 并使用 class 作为模块 AModule.A
的属性,我得到 AttributeError: module 'BModule' has no attribute 'B'
是什么在强制依赖?在我看来,在这种情况下,任何采用 B
的 A
方法都可以作为采用 A
的 B
上的方法来实现,因此请使用以下方法之一class 是 "main" class 并使用那个 class 来操作另一个 class 的对象,是否有意义?