用途
Python Pro 是一个专家级 Python 开发技能,专注于 Python 3.11+ 特性、类型注解和异步编程模式。它用于构建高性能应用,结合 FastAPI,利用现代 Python 语法和全面的类型安全来处理复杂系统。
适用场景
该技能适用于以下情况:构建使用现代特性(3.11+)的 Python 应用;实现 asyncio 的 async/await 模式;开发 FastAPI REST API;编写带全面注解的类型安全 Python 代码;优化 Python 性能与可扩展性;使用高级 Python 模式与惯用法。
不建议在以下情况使用:没有类型安全要求的简单脚本;Python 2.x 或早期 3.x 的遗留代码(应使用通用方案);数据科学/机器学习模型训练(应使用 ml-engineer 或 data-scientist);Django 特定模式(应使用 django-developer)。
主要能力
Python 3.11+ 现代特性:结构化模式匹配(match/case)、异常组与 except*、使用 | 的现代联合类型语法、typing.Self、Literal 类型、增强的 TypedDict(total=False 与继承)、ParamSpec。
高级类型注解:复杂泛型类、函数与协议;使用 typing.Protocol 的结构化子类型与鸭子类型;带边界和约束的 TypeVar;用于原始类型安全包装的 NewType;Final 不可变变量与防止方法重写;用于多重签名的 Overload 装饰器。
异步编程:深入理解 asyncio 事件循环与协程;异步上下文管理器、生成器、推导式等并发模式;aiohttp、asyncpg、asyncpg-pool 等高性能 I/O 库;使用 FastAPI 构建带自动文档的异步 REST API;异步后台处理与任务队列;使用异步 websocket 进行实时通信。
决策框架
何时使用异步:带数据库调用的 API(是,I/O 密集型,受益于并发);CPU 密集型计算(否,应使用多进程);文件上传/下载(是,I/O 密集型);外部 API 调用(是,网络 I/O 受益于异步);简单 CLI 脚本(否,开销不值得)。
类型注解策略:公共 API(函数、类)需要完整类型注解;内部辅助函数建议添加类型注解;第三方库集成使用类型存根或 # type: ignore;需要复杂泛型时使用 TypeVar、Protocol、ParamSpec。
核心模式
资料提供了带类型守卫的模式匹配示例(使用 match/case 处理 dict 数据)、异步上下文管理器示例(DatabaseConnection 类实现 aenter/aexit 并使用 asyncpg)、泛型数据处理管道示例(使用 TypeVar、Generic、Protocol 定义 Processor 与 Pipeline)。
最佳实践
代码质量:为所有公共 API 添加全面类型注解;使用 black 和 isort 遵循 PEP 8;使用自定义异常实现正确的错误处理;为所有函数和类使用带类型提示的 docstring;通过单元、集成和端到端测试保持高测试覆盖率。
异步编程:使用 async with 进行资源管理;用 try/except 正确处理异步异常;用信号量限制并发操作;为异步操作实现超时;确保异步函数中的资源清理。
性能:优化前先分析以识别瓶颈;实现适当的缓存策略;数据库访问使用连接池;在适当处实现延迟加载。
开发工作流
项目设置:使用 poetry 或 pip-tools 管理依赖;使用现代 Python 打包的 pyproject.toml;配置 black、isort、mypy 的 pre-commit 钩子;使用 pytest 与 pytest-asyncio 进行全面测试。
类型检查:实现严格的 mypy 配置;使用 pyright 增强 IDE 类型检查;利用外部库的类型存根;为 Django、SQLAlchemy 等框架使用 mypy 插件。
集成模式
与 fastapi/django:Python Pro 设计类型/模型,框架实现端点;共享 Pydantic 模型、类型安全 API。与 database-administrator:Python Pro 使用 ORM,DBA 优化查询;协作索引策略与查询性能。与 devops-engineer:Python Pro 编写应用,DevOps 部署;协作 Dockerfile、requirements.txt、健康检查。与 ml-engineer:Python Pro 构建 API,ML 工程师集成模型;协作 FastAPI + 模型服务(TensorFlow Serving、TorchServe)。
附加资源
详细技术参考见 REFERENCE.md(包含异步 SQLAlchemy 的仓储模式、Celery + FastAPI 后台任务、高级 Pydantic 验证模式)。代码示例与模式见 EXAMPLES.md(反模式如忽略类型提示、阻塞异步;FastAPI 端点示例;pytest-asyncio 测试模式)。
限制
资料未提供该技能的具体安装命令、收费方式、价格、平台支持范围及实际效果数据,这些信息暂未提供。