SuperAPI AI 工具集

python-patterns

编程与开发

查看项目

更新于 10-16 10:25

技能介绍

Python Patterns 是一套 Python 开发原则与决策指南,定位为 2025 年的 Python 开发思维训练,目标是让开发者学会“思考”而不是背诵固定模式。

用途:帮助开发者在实际项目中做技术决策,包括框架选择、异步与同步取舍、类型提示策略、项目结构安排、错误处理、后台任务和测试策略等。

主要能力:

  • 框架选择:提供决策树,API 优先或微服务倾向 FastAPI,全栈 Web、CMS 或后台管理倾向 Django,简单脚本或学习倾向 Flask,AI/ML API 服务倾向 FastAPI,后台任务可搭配 Celery。并给出 FastAPI、Django、Flask 在适用场景、异步、Admin、ORM、学习曲线上的对比。
  • 异步与同步决策:I/O 密集操作、大量并发连接、实时特性、微服务通信适合 async;CPU 密集、简单脚本、遗留代码、团队不熟异步、只有阻塞库时适合 sync。并列出 httpx、asyncpg、aioredis/redis-py async、aiofiles、SQLAlchemy 2.0 async/Tortoise 等异步库选择。
  • 类型提示策略:函数参数、返回类型、类属性、公共 API 始终标注;局部变量、一次性脚本、测试可跳过。介绍 Optional、Union、泛型集合、Callable 等模式,以及 Pydantic 在 API 请求/响应模型、配置、验证、序列化中的用途。
  • 项目结构:给出小型脚本、中型 API、大型应用的目录结构示例,并说明 FastAPI 可按层(routes、services、models、schemas、dependencies)或按功能组织。
  • Django 原则:介绍 5.0+ 的异步视图、异步中间件、有限异步 ORM 与 ASGI 部署;建议胖模型瘦视图、使用 manager、抽象基类,查询上使用 select_related、prefetch_related、only 避免 N+1。
  • FastAPI 原则:区分 async def 与 def 的使用场景,说明依赖注入用于数据库会话、认证、配置、共享资源,并提及 Pydantic v2 的请求验证与响应序列化。
  • 后台任务:对比 BackgroundTasks、Celery、ARQ、RQ、Dramatiq 的适用情况。
  • 错误处理与测试:建议自定义异常、注册处理器、统一错误格式、不暴露堆栈;测试分为单元、集成、端到端,使用 pytest、httpx/TestClient、pytest-asyncio 和常用 fixture。

使用方式:该技能明确提示“教学决策原则,而非复制固定代码”,因此使用时应在框架偏好不明确时询问用户,根据上下文选择异步或同步,不要每次默认相同框架。文中包含决策清单,提醒实现前确认是否询问了框架偏好、是否为本上下文选型、是否决定异步同步、是否规划类型提示、项目结构、错误处理与后台任务。

适用场景:Python 项目技术选型、新项目搭建、异步改造、类型系统设计、Django 或 FastAPI 工程实践、测试策略制定。

限制:资料未提供该技能的安装方式、运行命令、依赖要求、收费模式或平台支持信息;部分内容以原则和模式形式呈现,不构成完整可运行代码。