跳转到主要内容

Python运行时类型检查器

项目描述

Build Status Code Coverage Documentation

这个库为使用PEP 484参数(和返回)类型注解定义的函数以及任何任意对象提供运行时类型检查。它可以与静态类型检查器一起使用,作为类型安全性的额外层,以捕获只能在运行时检测到的类型违规。

提供了两种主要的类型检查方法

  1. check_type 函数

    • 类似于 isinstance(),但支持任意类型注解(在限制内)

    • 可以作为 cast() 的替代品使用,但实际上会检查值

  2. 代码注入

    • 整个模块或单个函数(通过 @typechecked)被重新编译,并向其中注入类型检查代码

    • 自动检查函数参数、返回值和赋值给注解的局部变量

    • 对于生成器函数(常规和异步),检查yield和send值

    • 需要可以访问注入模块(的)原始源代码

提供了两种代码注入选项

  1. @typechecked 函数

    • 可以单独应用于函数

  2. 导入钩子(typeguard.install_import_hook()

    • 在导入时自动注入目标模块

    • 在目标模块导入之前不需要在目标模块中进行手动代码更改

    • 需要在导入目标模块之前安装导入钩子

    • 可能与其他导入钩子冲突

有关更多信息,请参阅文档

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

typeguard-4.3.0.tar.gz (73.4 kB 查看哈希值)

上传时间

构建分布

typeguard-4.3.0-py3-none-any.whl (35.4 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面