一般来说,包设计中做抽象时,个人习惯把基类抽出来单独放一个文件,我看很多其他人也喜欢这么做,比如做成这样
--鸟类大全\ |___ base.py |___ 鸟人 1.py |___ 鸟人 2.py |___ 工具箱.py 大概这种感觉。
最近在做 type hints 时遇到一个循环导入的问题,即比如我有一个 class BaseBird:存在于base.py中,而class BirdmanOne(BaseBird)存在于鸟人 1.py中,显然鸟人 1.py 需要from .base import BaseBird
正常情况下没问题,在老版本里也一直是这么处理的。但是现在如果想引入类型提示特性的话,如果BaseBird中的某个方法,或者base.py中的其他函数、方法的输入,是存在于其他文件中的子类,这种情况下没办法直接从子类导入这种类,因为会变成循环引用。
有办法解决吗?

