今天我介绍了在Python中使用静态类型检查的多种方法(the Coconut tutorial)。它列出了python 3.5 type hints,python 3.6 variable annotations和MyPy。然后我发现了另一个来自Google的pytype。
这些替代方案是否存在冲突?他们中的任何人都依赖其他人吗?它们中的任何(子集)是否都不需要其他任何内容?
答案 0 :(得分:1)
您提到的前三个选项是相关的。 Python 3.5中引入的类型提示(PEP 484的结果)和Python 2.7支持的类型提示(通过存根文件)均受MyPy项目的启发。整个系统现在与MyPy一起开发。 Python 3.6中引入的可变类型提示是该过程的一部分:它们与从未发布过MyPy的版本完全一致。 pytype似乎是为同一类型提示系统创建的替代静态分析器。换句话说,MyPy和pytype是为同一类型系统设计的。