lang
lang/python/index.md
medium
lang-python-index
Python 语言级规则索引 — 命名/数据模型/标准库/迭代器/装饰器/异步/类型/错误/上下文/OOP/测试/打包/工程化/性能/import/style。Use when 写改 .py 文件时。
子项索引
| 子项 | 一句话 |
|---|---|
| naming folder | Python 命名规范 |
| data-model folder | Python 语言核心/数据模型规则索引(可变默认参数 / is vs == / 拷贝语义 / dunder 协议 / 闭包延迟绑定 / GIL 与 free-threading) |
| stdlib folder | Python 标准库重点用法(collections / itertools / functools / pathlib / dataclasses / enum) |
| iterators folder | Python 迭代器与生成器规范(生成器惰性 / 迭代器协议 / yield from 委托 / 推导式风格) |
| decorators folder | Python 装饰器规范(functools.wraps 包裹 / 带参三层嵌套 / 横切关注点实战) |
| async folder | Python 异步规范 |
| typing folder | Python 类型注解规范 |
| error-handling folder | Python 异常处理规范 |
| context-managers folder | Python 上下文管理与资源规范(with 协议 / ExitStack 动态多资源 / async with 异步资源) |
| oop folder | Python 面向对象与数据类规则索引(方法类型与 property / MRO 与 super / 建模选型 / 描述符协议 / 子类钩子与元类) |
| testing folder | Python pytest 测试规范(结构 / fixture / 参数化 / mock / 异步与 HTTP / 覆盖率门禁) |
| packaging folder | Python 打包与依赖管理规范(uv 工作流 / pyproject.toml / lockfile / 构建发布) |
| tooling folder | Python 工程化工具链索引(ruff / 类型检查 / pre-commit / CI / 结构化日志配置) |
| performance folder | Python 性能与并发优化(profiling / 缓存分层 / 并发模型选型 / 子解释器与 JIT 前沿) |
| import folder | Python import 顺序与依赖规范 |
| style folder | Python 编码风格细则 |
Python · 语言级规则
单一职责的叶子文件,由 CLAUDE.md Step 5 按需注入。
本层包含
| 名称 | 类型 | 一句话 |
|---|---|---|
| naming | 文件夹 | 函数 snake_case 动词 / 变量名词 / 模块小写 |
| data-model | 文件夹 | 可变默认参数 / is vs == / 拷贝 / dunder / 闭包 / GIL(6 子项) |
| stdlib | 文件夹 | collections / itertools / functools / pathlib / dataclasses / enum(6 子项) |
| iterators | 文件夹 | 生成器惰性 / 迭代器协议 / yield from / 推导式(4 子项) |
| decorators | 文件夹 | wraps / 带参装饰器 / 横切关注点(3 子项) |
| async | 文件夹 | 全 I/O await / TaskGroup / 取消 / 桥接同步 / SSE(7 子项) |
| typing | 文件夹 | 100% 注解 / PEP695 泛型 / Protocol / TypedDict / 延迟求值(8 子项) |
| error-handling | 文件夹 | ApiException / ExceptionGroup / raise from / EAFP(6 子项) |
| context-managers | 文件夹 | with 协议 / ExitStack / async with(3 子项) |
| oop | 文件夹 | 方法类型 / MRO / dataclass vs pydantic / 描述符 / 元类(5 子项) |
| testing | 文件夹 | pytest / fixture / 参数化 / mock / 异步测试 / 覆盖率(6 子项) |
| packaging | 文件夹 | uv / pyproject.toml / lockfile / build-publish(4 子项) |
| tooling | 文件夹 | ruff / 类型检查 CI / pre-commit / 结构化日志(5 子项) |
| performance | 文件夹 | profiling / 缓存 / 进程-线程-async 选型 / 子解释器-JIT(4 子项) |
| import | 文件夹 | 绝对导入 / 禁循环 / stdlib-third-party-local 三段顺序 |
| style | 文件夹 | 日志规范 / Redis Key 格式 / N+1 防御 |
下钻决策表
| 任务 | 选哪几个叶子 |
|---|---|
| 新增 Service 函数 | naming + async + typing + error-handling/api-exception |
| 写 SSE 流式接口 | async/sse-streaming + error-handling/api-exception |
| 写 Tortoise 查询 | style/no-n-plus-one(→ 同时进 framework/tortoise) |
| 写 Pydantic schema | typing/pydantic-v2-field + oop/dataclass-vs-pydantic |
| 写单元测试 | testing(pytest-structure + fixture-usage + mock-patch) |
| 配 / 改项目依赖与构建 | packaging(uv-workflow + pyproject-toml) |
| 配 lint / 类型检查 / CI | tooling(ruff-lint-format + type-checker-ci + ci-pipeline) |
| 写资源管理(文件/连接/事务) | context-managers + error-handling |
| 处理大数据流 / 省内存 | iterators/generator-lazy + performance |
| 排查性能 / 选并发模型 | performance(profiling + process-vs-thread-vs-async) |
| 用标准库(别造轮子) | stdlib |
| 写装饰器(重试/缓存/计时) | decorators |
| Review 后端代码 | 按改动涉及的子目录下钻 |