如何让Python在类型提示被违反/忽略时抛出错误?
Python类型提示强制执行方案
Python默认不会在执行时强制执行类型提示,你可以通过以下几种工具实现类型违反时自动报错:
静态类型检查工具(无需运行代码)
mypy:最常用的静态类型检查器,能检测代码中的类型不匹配问题。- 安装:
pip install mypy - 使用:在终端运行
mypy your_script.py,工具会扫描代码并输出类型错误信息。
- 安装:
pyright:微软开发的高性能静态检查工具,支持快速增量检查,对大型项目更友好。- 安装:
pip install pyright - 使用:终端运行
pyright your_script.py即可得到类型校验结果。
- 安装:
运行时类型检查工具(执行代码时触发报错)
typeguard:可以在代码运行时校验类型,直接抛出类型不匹配的异常。- 安装:
pip install typeguard - 使用:要么用
@typeguard.typechecked装饰单个函数,要么通过CLI全局启用:python -m typeguard your_script.py,执行代码时遇到类型违反就会报错。
- 安装:
pydantic:适合数据模型场景,定义模型时自动校验字段类型,初始化模型传入错误类型会直接抛出异常。- 安装:
pip install pydantic - 使用:定义继承自
pydantic.BaseModel的类,字段指定类型后,实例化时自动校验。
- 安装:
这些工具覆盖了静态检查和运行时校验的场景,根据你的需求选择即可。
内容的提问来源于stack exchange,提问作者a.t.
相关产品推荐
相关产品推荐

