1. Python类型检查工具测试
本文参考了资料1,简单测试这四种类型检查工具
1.1. pytype
pytype是谷歌非官方出品,需要Python2.7或3.5+环境,暂不支持Windows
1.1.1. 安装和使用命令
pip install pytype
pytype file_or_directory
1.2. pyre-check
Facebook出品,需要Python3.5+环境,暂不支持Windows
1.2.1. 安装命令
pip install pyre-check
1.2.2. 使用说明
在项目根目录下,执行以下命令
pyre init
pyre
1.3. pyright
Pyright是微软出品的,只支持Python3.0+版本,支持Windows,但是对文件夹的支持有问题。
1.3.1. 安装命令
Pyright安装不需要Python环境,因为它是用TypeScript写的,所以需要使用Node.js的npm进行安装。在Linux和MacOS安装需要使用sudo。
npm install -g pyright
1.3.2. 使用说明
- 检查单个文件,直接使用
pyright file即可 - 检查文件夹需要使用配置文件,详情见官网样例
1.4. mypy
mypy由Python官方推出,需要Python3.5+环境,支持Windows。
1.4.1. 安装和使用命令
pip install mypy
mypy PROGRAM
1.5. 测试代码
- test1.py:字符串不能和整数相加
def f():
return "PyCon"
def g():
return f() + 2019
- test2.py:函数返回值为int时,不能返回str
def foo() -> int:
return ""
- test3.py:字符串不能和整数相加
a = True
if a:
a = 1
else:
a = 'a'
print(a + 'b')
- test4.py: 字符串相乘应该是整数
num = 5 / 2
print('a' * num)
1.6. 测试结果
| 工具 | test1.py | test2.py | test3.py | test4.py |
|---|---|---|---|---|
| pytype | 支持 | 支持 | 支持 | 支持 |
| pyre-check | 不支持 | 支持 | 支持 | 支持 |
| pyright | 支持 | 支持 | 支持 | 不支持 |
| mypy | 不支持 | 支持 | 支持 | 支持 |
综合比较后pytype检查能力最好。
本文对比测试了四种Python类型检查工具:pytype、pyre-check、pyright和mypy的功能和适用性。详细介绍了每种工具的安装和使用方法,并通过四个测试案例评估其检查效果。结果显示,pytype在整体检查能力上表现最佳。
499

被折叠的 条评论
为什么被折叠?



