SuperAPI AI 工具集

python-expert

编程与开发

查看项目

更新于 10-31 14:14

技能介绍

该技能是一份为 AI 在开发执行过程中参考而整理的 Python 知识条目,主题是「陷阱与决策」,即常见易错点与框架/工具选型标准。资料说明其面向 Claude 在执行时读取,人类可读的解释可参阅项目内文档(如 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/)。

主要能力与覆盖范围:

  1. 选型决策。资料列出一组 choice/use_when 对照:FastAPI 适合异步 API 且自带自动文档;Django 适合全功能、含 ORM 与后台管理;Flask 适合最小化微服务。Pydantic 用于校验与序列化,适合 API 边界;dataclass 适合内部数据结构。SQLAlchemy 适合独立使用或配合 FastAPI;Django ORM 仅用于 Django 项目。异步用于 I/O 密集场景(HTTP/数据库),同步用于 CPU 密集场景,并强调不要在异步中混入阻塞调用。
  2. 常见陷阱。资料列出若干具体问题:可变默认参数(def f(items=[]) 会在多次调用间共享列表,建议改为 items=None 再赋值);asyncio.run() 会新建事件循环,不能嵌套,应在已有异步上下文中使用 await;FastAPI 的 Depends() 默认每个请求创建新实例,单例可用 @lru_cache;Django 的 N+1 查询问题,可用 select_related(外键/一对一)与 prefetch_related(多对多/反向外键)缓解;isinstance(x, int) 也会匹配 bool,因为 bool 是 int 的子类,必要时用 type(x) is int;类型提示在运行时并不强制执行,需要运行时校验可用 Pydantic 或 beartype;dict.get('key') 在键不存在时静默返回 None,若键必须存在应使用 dict['key'];依赖管理上,现代项目优先 pyproject.toml(PEP 621)而非 requirements.txt;资源清理应使用 with 语句(文件、数据库连接),不要依赖 del。

使用方式:资料将其定位为 AI 在执行 Python 相关任务时阅读的参考,并建议使用 Context7 获取 FastAPI/Django/Flask 的文档。资料未提供安装命令、调用接口、配置参数或具体触发方式。

适用场景:编写或审查 Python 代码时做框架选型、异步设计、类型校验与依赖管理判断,以及规避上述已知陷阱。

限制:资料为要点式参考,未给出完整教程、版本要求、性能基准或验证流程;也未说明该技能是否支持其他语言或框架。安装方式、使用步骤与平台支持等信息暂未提供。