用途
Mastering Python Skill 旨在提供现代 Python 编程的指导,覆盖语言基础到生产级模式。当被要求“编写 Python 代码”“解释 Python 概念”等任务时可使用。
主要能力
内容分为多个类别与文件,涵盖以下主题:
- 基础(Foundations):syntax-essentials、type-systems、project-structure、code-quality;涉及变量、类型提示、泛型、src 布局、ruff、mypy。
- 模式(Patterns):async-programming、error-handling、decorators、context-managers、generators;涉及 async/await、异常、Result 类型、with 语句、yield。
- 测试(Testing):pytest-essentials、mocking-strategies、property-testing;涉及 fixtures、parametrize、unittest.mock、Hypothesis。
- Web API:fastapi-patterns、pydantic-validation、database-access;涉及依赖注入、中间件、验证器、SQLAlchemy async。
- 打包(Packaging):poetry-workflow、pyproject-config、docker-deployment;涉及锁文件、PEP 621、多阶段构建。
- 生产(Production):ci-cd-pipelines、monitoring、security;涉及 GitHub Actions、OpenTelemetry、OWASP、JWT。
详细的主题查找可参见 TOC.md。
使用方式
技能以工作流(Workflow)组织,分为四个阶段:
- 阶段 1:环境搭建。验证 Python 版本(python --version,要求 3.10+,推荐 3.12+);创建并激活虚拟环境(python -m venv .venv && source .venv/bin/activate);安装依赖(poetry install,或 pip install -r requirements.txt)。
- 阶段 2:开发。参考相应模式文件:类型 → type-systems.md,异步 → async-programming.md,API → fastapi-patterns.md,数据库 → database-access.md;并遵循 project-structure.md 中的项目结构。
- 阶段 3:验证。运行质量检查:ruff check . && ruff format --check .,mypy src/;运行带覆盖率的测试:pytest -v --cov=src --cov-report=term-missing。
- 阶段 4:部署。构建并验证包:python -m build && twine check dist/*;按照 docker-deployment.md 或 ci-cd-pipelines.md 进行部署。
完成前检查清单:所有测试通过、mypy 无错误、ruff check 干净、覆盖率 ≥80%、依赖无安全警告。
示例 CLI 工具
提供可运行的示例,展示生产模式:
- async_fetcher.py:演示异步 HTTP、限流、错误处理,参考 async-programming.md。
- config_loader.py:演示 Pydantic 设置、.env 文件、验证,参考 pydantic-validation.md。
- db_cli.py:演示 SQLAlchemy 异步 CRUD、仓储模式,参考 database-access.md。
- code_validator.py:演示运行 → 检查 → 修复(使用 ruff 和 mypy),参考 code-quality.md。
测试示例命令: python sample-cli/async_fetcher.py https://httpbin.org/get python sample-cli/config_loader.py --show-env python sample-cli/db_cli.py init --sample-data && python sample-cli/db_cli.py list python sample-cli/code_validator.py src/
适用场景
适用于 Python 3.10+ 的现代开发任务,包括编写与解释 Python 代码、类型与异步编程、构建 Web API、数据库访问、测试、打包以及生产部署和 CI/CD 管道等。
限制
不适用于:非 Python 语言(应使用对应语言的技能);ML/AI 模型内部(应使用 PyTorch/TensorFlow 技能);云基础设施(应使用 AWS/GCP 技能,本技能覆盖代码层面);遗留 Python 2(重点为 Python 3.10+)。