用途:该技能用于在编写或审查 Python 代码时应用现代 Python 机制,面向类型化应用与库边界,覆盖类型契约、包结构、运行时校验和异步资源管理,强调不额外增加注解或打包仪式。适用场景包括编写或评审 Python 契约、包、校验逻辑与异步资源相关代码。
主要能力与约定:
- 让类型检查器推断显而易见的实现结果,仅在推断无法表达契约时才添加注解。
- 使用协议(protocols)依赖最小必要行为,而非某厂商的具体客户端。
- 在 Python 3.13+ 中用 PEP 695 泛型表达与调用方相关的关系,避免模块级 TypeVar 声明和不必要的泛型。
- 新增有限状态成员时通过穷尽处理使其成为类型检查失败。
- 使用前先收窄可选值,由所属层决定保留还是拒绝缺失,而不是用强制转换或伪造回退。
- 校验不可信数据并使非法状态显式化;在受控边界一次性解析序列化输入,避免不可信映射向内扩散。
- 不把缺失的必需数据变成看似合理的值;保留缺失或在所属边界失败。
- 在优化下保持必需的运行时检查有效,不用 assert 做校验。
- 只在会抛出异常的操作处捕获预期异常,采用窄范围异常处理。
- 保持包显式、惰性且可独立分发:导入无副作用,公开导出明确;遵循 Python 命名与 src 布局,避免依赖检出目录的导入。
- 用 py.typed 发布有意提供的内联类型;第三方 stub 仅用于缺少完整内联类型的依赖,而非仅为消除诊断信息。
- 每个可独立构建的分发都声明自己的元数据和直接依赖;不通过修改导入路径来掩盖打包错误。
- 异步资源与遍历的所有权要可见:用异步上下文管理器让清理与获取不可分割,通过异步分页保留页面边界与消费者对远程遍历的控制。
使用方式:在执行当前任务前,先阅读该技能链接所指向的相关指引,再据此编写或审查 Python 代码。
限制:公开资料未提供具体安装命令、依赖版本约束、支持平台、收费或价格等信息,暂未提供。