Python 中的静态类型检查:冲突的替代方案?



今天,我被介绍了在Python中使用静态类型检查的多种方法(通过Coconut教程)。它列出了python 3.5类型提示,python 3.6变量注释和MyPy。然后我从谷歌找到了另一个叫做pytype的pytype。

这些替代方案是否冲突?他们中的任何一个都依赖于其他任何人吗?它们中的任何一个(子集)是否使任何其他内容变得不必要?

你提到的前三个选项是相关的。Python 3.5 中引入的类型提示(作为 PEP 484 的结果)和 Python 2.7 支持的类型提示(通过存根文件)受到 MyPy 项目的启发。整个系统现在正在与MyPy一起开发。Python 3.6 中引入的变量类型提示是该过程的一部分:它们与从未发布的 MyPy 版本完全一致。pytype似乎是为同一类型提示系统创建的替代静态分析器。换句话说,MyPy和pytype是为相同的类型系统设计的。

最新更新