纯 Python 运行时类型检查器,依据 PEP 类型注解对函数、类和变量做校验,开销很低。
3512+3 本周94PythonMIT维护活跃更新于 昨天
Python 运行时类型检查库,依据 PEP 484 类型注解校验函数参数、返回值和任意对象。
Typeguard 在程序运行时检查 Python 类型注解,可以发现 mypy 等静态检查工具无法覆盖的类型错误。它既可以当作功能更强的 isinstance(),支持任意类型提示,也可以替代 cast(),并真正校验传入的值。
自动检查有两种方式。@typechecked 装饰器会对单个函数重新编译,注入参数、返回值、带注解的局部变量赋值以及生成器的 yield 和 send 值的检查。导入钩子 install_import_hook() 则在模块导入时自动插桩,无需修改目标模块源码,但需要在目标模块加载前安装。
此外,check_argument_types() 和 check_return_type() 提供了更轻量、对调试器友好的方式,但对嵌套函数等动态定义的类型提示支持不够可靠。插桩方式要求模块的源代码可以访问。
从 PyPI 安装该包
pip install typeguard使用 check_type 在运行时校验值
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
纯 Python 运行时类型检查器,依据 PEP 类型注解对函数、类和变量做校验,开销很低。
Python 静态类型检查器,基于类型提示在不运行代码的情况下发现类型错误。
面向 Python 的静态类型检查器,提供命令行工具和 Visual Studio Code 扩展,适用于大型代码库。
一个 pytest 插件,在运行测试时顺带用 mypy 对源文件做静态类型检查。
一款 PHP 静态分析工具,无需运行代码即可发现潜在错误。
基于编译期转换的 TypeScript 库,把纯类型定义编译为运行时校验、JSON 序列化等函数。