Python 现代编码规范助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_7b1db0fd/python-modern。
技能介绍
解决什么问题
Python 项目常混用旧语法和不可靠的版本假设。Agent 写代码时若不知道目标版本,可能引入 match/case、type 语句或 asyncio.TaskGroup,在旧环境中失败;也可能为了兼容放弃 list[int]、@dataclass、tomllib 等现代标准库能力。
技能如何工作
该技能先根据 pyproject.toml、setup.cfg、Pipfile、setup.py 或 .python-version 确定目标版本,再按版本边界生成代码。核心规则包括:所有 import 放在文件顶部,除非可选依赖或循环导入;函数和变量强制类型注解;避免 from __future__ import annotations,用引号字符串处理前向引用;docstring 使用 sphinx-notypes 风格;分支多时使用 match/case。对 3.9+ 优先 list[int]、dict | dict、zoneinfo;对 3.11+ 优先 ExceptionGroup、tomllib、asyncio.TaskGroup。
适用边界
它约束的是编码风格,不替代 ruff、mypy、pytest 或 CI 的版本矩阵。若仓库版本信息缺失,需要先明确目标版本。对低版本项目不应使用高版本语法;对已有复杂运行时注解库,要谨慎调整类型注解策略。
使用场景
- 在 Python 3.11 仓库中重构异步任务管理,要求把 `create_task` 与 `gather` 改成结构化并发。
- 为 FastAPI 服务补充类型注解和 docstring,避免 `from __future__ import annotations` 破坏运行时注解。
- 审阅 Python 3.10 分支逻辑,把 4 个以上 `if/elif` 条件改成 `match/case`。
- 在 Python 3.9 项目里替换 `typing.Dict` 与 `pytz`,改用 `dict[str, int]` 和 `zoneinfo`。
适合人员
- 维护 Python 3.9 到 3.13 后端服务、要求 Agent 按版本边界写代码的工程师。
- 给 FastAPI、Pydantic 项目补充类型注解和 docstring 的后端开发。
- 在代码评审中检查旧式导入、注解与分支结构是否过时的技术负责人。
- 需要将 `pytz`、`typing.Dict` 等旧模式替换为标准库新写法的维护者。