我在Python中阅读了一些有关typing.TYPE_CHECKING
的代码,即使我阅读了相关的资料,我也不明白为什么。
据说TYPE_CHECKING
是一个特殊常量,被第三方静态类型检查器假定为True。在运行时为False,对处理导入圆很有用。
但是我为什么需要它?
我在下面列出了代码。为什么我不只是导入昂贵的_mod?
我已经在docs.python.org中阅读了一些内容,但我也不明白。
if TYPE_CHECKING:
import expensive_mod
def fun(arg: 'expensive_mod.SomeType') -> None:
local_var: expensive_mod.AnotherType = other_fun()
None