从 Python2 迁移到 Python3 实战(二) - 类型提示(mypy、monkeytype 和 pyannotate)

前言如果把时间拉到一年前我肯定不会写关于类型提示 (Type Hint) 或者 mypy 的内容。印象里在之前的博客或者知乎回答中明确提过「拒绝在代码中指定变量类型」,另外一个原因是 mypy 和类型提示相关的功能还在不断完善,业界还没有大范围应用。众所周知,Python 是动态类型语言,声明变量时不需要显式的指定变量类型,程序会在运行时候解析出变量的类型,这样能够减少一部分代码量,加快程序的编写速度。不过缺点大家也清楚,除了降低可读性和容易因为类型问题异常之外,相对于其他编程语言 Python 一直被诟病:慢。作为一个 Python 开发者,我过去认为「在代码中声明参数和返回值的类型」不是什……