用途:帮助在 Python 代码中利用类型系统,在静态分析阶段捕获错误,并把类型注解作为可被工具自动校验的文档。适用于为现有代码添加类型提示、编写可复用泛型类、用 Protocol 定义结构化接口、配置 mypy 或 pyright 严格检查、理解类型收窄与类型守卫,以及构建类型安全的 API 与库。
主要能力:类型注解(函数参数、返回值、变量);泛型(跨类型保留类型信息);Protocol(无需继承的结构化接口,即带类型安全的鸭子类型);类型收窄(用守卫与条件在代码块内缩小类型);TypeVar 与 bound 约束;类型别名;Callable 回调类型;泛型仓库等模式。
使用方式:为所有公开签名添加注解;Python 3.10+ 优先使用 User | None 联合语法,3.9 可用 Optional/Union;用 if user is None 等守卫做类型收窄;用 TypeVar、Generic 定义泛型类;用 Protocol 与 @runtime_checkable 定义结构接口;在 CI 中运行 mypy --strict 或 pyright。配置示例(pyproject.toml):[tool.mypy] 下设置 python_version、strict = true、warn_return_any、warn_unused_ignores、disallow_untyped_defs、disallow_incomplete_defs、no_implicit_optional。存量项目可按模块增量启用严格模式,使用 # mypy: strict 或按模块覆盖配置。
限制:资料未提供该技能的安装命令、插件安装方式、收费与价格、支持平台及具体效果数据,暂未提供。类型语句 type 需 Python 3.10+,泛型 type 语句需 3.12+;Any 应尽量少用,仅在真正动态数据或对接无类型第三方代码时可接受。