Agent Skills
返回列表
💻

Python 工程实践

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/python-best-practices。

技能介绍

告别「脚本玩具」:现代 Python 工程的痛点与破局

在 Python 开发中,我们常面临一个尴尬的现实:项目初期为了追求速度,代码往往像一次性脚本一样脆弱。随着业务膨胀,缺乏类型约束导致重构如履薄冰;同步 I/O 阻塞让性能遇到瓶颈;混乱的依赖管理使得环境部署变成玄学。这个技能致力于帮助开发者打破「能跑就行」的思维惯性,将 Python 项目提升到具备静态语言级别的生产质量,真正实现从脚本到工程的跨越。

核心工作流与工程实践

该技能围绕现代 Python 工程的五个核心维度提供系统化的指导:

  • 项目初始化与结构:推荐使用 uv 或 poetry 等现代包管理器,并在 pyproject.toml 中严格声明 requires-python,奠定规范化的项目基座。
  • 渐进式类型系统:不仅覆盖基础注解,更深入 TypeVar、Protocol、TypedDict 和 Literal 等高级类型。通过 TypeGuard 进行类型收窄,逐步消除 # type: ignore。
  • asyncio 异步重构:针对 I/O 密集型场景,提供 asyncio.gather()、Semaphore 及 TaskGroup 等关键模式,并指导如何安全地在同步与异步代码间进行桥接。
  • 质量护栏与 CI:整合 ruff、mypy 和 pytest,在 CI/CD 流水线中构建「检查-测试-构建」的闭环。
  • 依赖锁定与更新:通过提交 lock 文件和自动化工具管理依赖,区分运行时与开发时依赖。

适用边界与避坑指南

需要注意的是,本技能聚焦于通用 Python 应用与库的开发。它不适用于数据科学/机器学习管线的专项优化(如 pandas/numpy 调优),也不涵盖 Django/Flask 等特定框架的内部机制与业务细节。此外,在处理 CPU 密集型任务时,应明确避开 asyncio,转而使用 multiprocessing 以获得真正的性能提升。

使用场景

  • 团队要启动一个新的 Python 服务项目,需要在 uv、poetry、pip 之间选型,并搭好含 pyproject.toml 的项目骨架
  • 手上有一个跑了很久但没类型注解的存量代码库,想用 pyright 或 mypy 渐进式补类型并逐步打开严格模式
  • FastAPI 项目每次请求串行调用多个外部 API 很慢,需要改用 asyncio.gather 并发并加 Semaphore 限流
  • 正在开发一个要发布到 PyPI 的 Python 包,需要配置 ruff、mypy、pytest 的 CI 检查并区分运行时与开发依赖

适合人员

  • 后端工程师,手里有一个能跑但结构混乱的 Python 脚本项目,希望重构为类型安全、有测试、可上线的服务
  • Python 库或开源项目作者,准备把工具包发布到 PyPI,需要正确的打包配置和 CI 质量门禁
  • 团队技术负责人,想给遗留代码库引入渐进式类型检查和统一的代码风格规范
  • 异步服务开发者,正在处理 I/O 密集型接口,希望用 asyncio 正确降低外部调用的延迟