SuperAPI AI 工具集

python-patterns

编程与开发

查看项目

更新于 10-15 21:11

技能介绍

用途:这是一份面向 2025 年的 Python 开发决策指南,帮助开发者根据具体场景做技术选择,而不是记忆固定代码模板。

主要能力:

  1. 框架选型:给出决策树,API/微服务与 AI/ML 服务倾向 FastAPI,全栈/CMS/后台倾向 Django,简单脚本或学习倾向 Flask,后台任务用 Celery 搭配任意框架;并列出异步支持、Admin、ORM、学习曲线等对比维度。
  2. 异步与同步取舍:I/O 密集用 async,CPU 密集用同步加多进程;避免在异步代码中使用同步库,也不要把 CPU 工作强行异步化。异步库建议包括 httpx、asyncpg、aioredis、aiofiles、SQLAlchemy 2.0 async 等。
  3. 类型提示:函数参数、返回值、类属性、公开 API 应标注;局部变量、一次性脚本、测试可省略。涉及 Optional、Union、泛型集合、Callable 等模式,并建议用 Pydantic 做请求响应模型、配置、校验与序列化。
  4. 项目结构:按小脚本、中型 API、大型应用给出目录组织方式,FastAPI 可按层或按功能组织。
  5. Django 与 FastAPI 原则:Django 5.0+ 支持异步视图、中间件与有限异步 ORM;模型设计提倡胖模型瘦视图,查询用 select_related、prefetch_related 避免 N+1。FastAPI 中 async def 用于异步驱动与 I/O,def 用于阻塞或 CPU 工作,依赖注入用于数据库会话、认证、配置。
  6. 后台任务:BackgroundTasks 适合进程内简单任务,Celery、ARQ、RQ、Dramatiq 适合分布式、需重试或持久队列的场景。
  7. 错误处理与测试:自定义异常、统一错误格式、不暴露堆栈;测试分单元、集成、端到端,异步测试用 pytest-asyncio,并给出常用 fixture 思路。

使用方式:资料未提供安装命令或具体调用方式,仅作为决策参考。

适用场景:Python 项目技术选型、架构设计与代码评审。

限制:内容为原则性指导,未提供具体版本兼容性、性能数据或完整示例;实际选择需结合团队与现有基础设施。