用途:借助 Python 类型系统在静态分析阶段捕获错误,把类型注解当作可被工具自动校验的文档。适用于为现有代码添加类型提示、创建可复用泛型类、用 Protocol 定义结构化接口、配置 mypy 或 pyright 严格检查、理解类型收窄与类型守卫,以及构建类型安全的 API 与库。
核心概念:类型注解为函数参数、返回值与变量声明预期类型;泛型让可复用代码在不同类型间保留类型信息;Protocol 无需继承即可定义结构化接口(带类型安全的鸭子类型);类型收窄利用守卫与条件在代码块内缩小类型范围。
使用方式:为所有公开签名添加注解,例如 get_user(user_id: str) -> User | None,让调用方必须处理 None。Python 3.10+ 优先使用 User | None 写法,3.9 及更早可用 Optional 与 Union。用条件判断收窄类型,如先检查 user is None 再访问其属性。泛型类可定义 TypeVar 与 Generic,实现 Result[T, E] 这类类型安全容器。建议在 CI 中运行 mypy --strict 或 pyright;对既有项目可通过按模块覆盖逐步启用严格模式。
限制与说明:该资料主要为模式与最佳实践说明,未提供具体安装命令、版本要求或价格信息,这些内容暂未提供。部分模式依赖 Python 3.10+ 的联合语法,旧版本需改用 typing 中的 Optional/Union。泛型示例中出现 type: ignore 注释,说明某些实现细节仍需手动豁免。更详细的进阶模式位于 references/details.md,导航摘要不足时需另行阅读该文件。