python 的 typing 能帮助 IDE 更好地判断变量的类型,写代码的过程效率会高很多,重构的过程也会轻松很多。在多人协作的项目中,也能减少沟通的成本和误解。typing 的一般用法还是很好上手的,本篇 blog 主要记录几个不那么常见的问题。

如果 B 类先定义,则可以添加双引号来引用 A 类。

如果是 python 3.7+ 以上的版本,可以使用 from __future__ import annotation ,这样就不需要双引号。

如果 class A 和 class B 定义在两个文件中,且需要相互引用时,会出现循环引用的问题,文件结构:

对 b.py 进行如下修改就可以解决该问题,注意 A 的 typing 两边一定要加“双引号”,当然在设计上应该劲量避免出现循环引用的情况。