Skip to content

Python 中文知识库 ​

本页承担 README 职责:介绍知识库定位、目标读者、版本基线、安装运行、完整目录、分阶段学习路线、统一示例项目、验证流程、维护规则与检索增强生成(Retrieval-Augmented Generation,RAG)使用建议。

一、知识库简介 ​

这是一套系统、准确、可验证、可持续维护的 Python 中文知识库。它不只罗列语法与应用程序接口(Application Programming Interface,API),而是解释语言设计、对象模型、类型语义、运行机制、工程取舍、适用边界、错误用法与验证方法。

内容组织遵循"一个首页 + 一个术语表 + 多个主题目录"的形式,每篇文档聚焦一个可独立检索的问题,天然适配按章节切分后的 RAG 检索。

在涉及并发、异步、内存、性能与解释器等话题时,本库严格区分五个层次,避免把实现细节当成语言的永久保证:

二、目标读者与前置知识 ​

读者使用方式建议起点
零基础学习者从第 01 章按序学习01 → 02 → 03 → 04
应用 / 后端开发者速查类型、对象模型、并发、Web、数据库03、05、07、08、10-12、17、18
数据工程师关注 I/O、数据处理、性能15、19、21、22
测试工程师关注测试与验证方法09、20
初级架构师关注项目设计、打包、部署、可观测性23、24、26、27

前置知识:具备基础计算机与命令行知识即可,不要求有其他编程语言经验。若你熟悉 Java、C++ 或 Go,请注意本库会显式提示这些语言的对象、并发与类型语义不能机械套用到 Python。

三、版本、解释器与平台基线 ​

  • 默认解释器:CPython(Python 官方参考实现)。
  • 默认版本:以当前受支持的稳定版本 Python 3.14 为主,同时标注仍在官方支持周期内的次新版本(3.13 / 3.12 / 3.11)差异。
  • 核验环境:CPython 3.12.14 与 3.14.6,macOS 26.6.2(arm64),核验日期 2026-09-07。
  • 示例平台:默认运行于 Linux 与 macOS;存在 Windows 差异时单独说明(如虚拟环境路径 .venv\Scripts\python.exe)。
  • 构建元数据:项目统一使用 pyproject.toml 描述构建系统与项目元数据。
  • 虚拟环境:默认使用标准库 venv;第三方工具仅在有明确收益时引入并说明。

版本纪律:涉及随版本变化的语法、类型系统、标准库、命令参数与 CPython 行为时,正文会标注首次支持版本、当前行为、弃用状态与迁移注意事项。无法确认者标记为"待验证",并给出官方资料路径或最小验证程序。

四、安装与运行 ​

bash
# 1. 确认解释器版本
python3 --version

# 2. 为学习/示例创建隔离虚拟环境
python3 -m venv .venv
source .venv/bin/activate            # Windows: .venv\Scripts\activate

# 3. 升级 pip
python -m pip install --upgrade pip

# 4. 运行统一示例项目(见第七节)
cd docs/development/python/principles/example-project
python -m pip install -e ".[dev]"
python -m tasklib demo

五、完整目录 ​

标注 ✅ 的章节已生成正文;标注 🚧 的章节尚在分批生成中。

已完成(第一、二批) ​

生成状态 ​

  • ✅ 01-28 全部计划章节已生成并接入导航。

章节按复杂度将 Prompt 建议的 31 个主题目录做了合并归类(例如 concurrency 与 threading 合并、multiprocessing 独立成章),核心主题无遗漏,编号与本目录一致。

六、分阶段学习路线 ​

  • 零基础路线:01 → 02 → 03 → 04 → 05 → 07 → 06
  • 后端工程师速查:03、05、07、08、10、15、16、23
  • 数据工程师路线:13、17、19、20
  • 测试工程师路线:07、09、18
  • 性能工程师路线:11、19、20、08、10

七、统一示例项目与数据模型 ​

全库复用一个可运行的示例项目 tasklib(极简任务管理库 + 命令行工具),确保示例可独立复现、命名一致。它采用 src 布局,仅依赖标准库,覆盖数据建模、运行时诊断、安全、可观测性、生命周期、故障快照、I/O、网络、并发、命令行入口与单元测试。

核心数据模型(详见 示例项目 README):

元素类型说明
Task@dataclass(slots=True)任务记录,__post_init__ 校验标题不变量
TaskStatusStrEnumtodo / doing / done
PriorityIntEnumLOW=1 / MEDIUM=2 / HIGH=3
TaskRepository类(上下文管理器)内存仓储,with 退出时释放资源
TaskService类注入仓储(依赖倒置),编排创建/完成/待办排序
TaskError 层次异常ValidationError / TaskNotFoundError

八、代码、测试、类型与安全验证流程 ​

除专门展示错误的示例外,代码必须通过:语法编译 → 格式 → Lint → 类型检查 → 单元测试。统一命令:

bash
.venv/bin/python -m compileall -q src tests   # 语法编译
.venv/bin/ruff format --check .                # 格式
.venv/bin/ruff check .                         # Lint
.venv/bin/mypy src tests                       # 类型检查(strict)
.venv/bin/pytest                               # 单元测试

第七批完成后的累计验证结果(核验日期 2026-09-07,CPython 3.12.14 / 3.14.6):

检查项工具结果
语法编译compileall✅ 通过
格式ruff format --check 0.16.6✅ 53 files already formatted
Lintruff check 0.16.6✅ All checks passed
类型检查mypy 2.3.1(strict)✅ no issues found in 52 source files
单元测试pytest 9.1.1✅ 97 passed
隔离构建PyPA build + Hatchling 1.32.0✅ sdist + Wheel
静态安全扫描Bandit 1.9.4✅ 无未抑制问题
依赖漏洞审计pip-audit 2.10.1✅ 当前开发环境无已知漏洞
异步诊断PYTHONASYNCIODEBUG=1✅ 无未等待协程、遗留任务或未关闭资源告警
命令行运行python -m tasklib demo✅ 输出与文档一致

1、第二批覆盖矩阵 ​

主题正文可执行证据
类型提示、泛型、协议、缩窄05-01typing_models.py + 4 tests
dataclass、TypedDict、NamedTuple、Enum05-02models.py / typing_models.py
类、组合、继承、MRO06-01oop.py + MRO 实验
描述符、魔术方法、ABC、元类06-02PositiveInt + 6 tests
异常链、错误边界、重试07-01ConfigError.__cause__ 测试
with、contextlib、异常安全07-02提交/回滚/恢复 4 tests
线程、GIL、同步原语、线程池08-01/02Barrier/Lock/Queue 4 tests
多进程、IPC、进程池、启动方式09-01/02spawn/Pool/Pipe 2 tests
协程、Task、Future、事件循环10-01asyncio_examples.py
取消、超时、背压、TaskGroup10-02asyncio debug 下 3 tests

2、第三批覆盖矩阵 ​

主题正文可执行证据
CPython 执行模型、字节码、导入缓存11-01runtime_examples.py
引用计数、循环 GC、弱引用、tracemalloc11-025 runtime tests
容器、迭代器、缓存与堆12-01stdlib_examples.py
正则、时区、Decimal、安全随机数12-02stdlib tests
日志、配置、子进程、信号12-03安全 subprocess 测试
pathlib、路径约束、原子写入13-01io_examples.py
编码、缓冲、流式大文件13-02分块哈希测试
JSON/CSV/XML/pickle/压缩/哈希13-03JSON Lines + SHA-256 tests
Socket、TCP/UDP、DNS、协议分帧14-01socketpair tests
TLS、HTTP、重试、SSRF14-02本地 HTTP server tests

3、第四批覆盖矩阵 ​

主题正文可执行证据
WSGI/ASGI、请求生命周期15-01WSGI/ASGI callable tests
路由、中间件、认证、错误模型15-02Bearer 与错误响应 tests
DB-API、参数化、事务16-01SQLite 事务 tests
连接池、锁、ORM、迁移16-02工程边界与集成策略
Schema、缺失值、质量17-01CSV 参数化坏行 tests
分块、向量化、可复现性17-02分块聚合 tests
pytest、fixture、异步测试18-01全项目测试体系
Mock、性质/集成测试、覆盖率18-0263 tests + 严格门禁

4、第五批覆盖矩阵 ​

主题正文可执行证据
pdb、Traceback、faulthandler19-01调试命令与故障流程
timeit、cProfile、tracemalloc19-02profiling_examples.py
复杂度、结构、缓存20-01optimization_examples.py
CPU、内存、I/O、并发优化20-02有界批处理 tests
pyproject、sdist、Wheel21-01隔离构建 + Wheel 内容检查
锁文件、哈希、供应链与发布21-02pip secure install 流程
src 布局、分层、依赖注入22-01settings.py 组合根
配置、API 演进、质量门禁22-02配置参数化 tests

5、第六批覆盖矩阵 ​

主题正文可执行证据
输入校验、注入、路径与反序列化23-01Bandit + 既有边界 tests
SSRF、XSS、CSRF、认证与授权23-02重定向与 Web 边界 tests
密码、Token、密钥与供应链23-03security_examples.py + pip-audit
结构化日志、关联 ID 与脱敏24-01observability_examples.py
指标、Trace、SLI/SLO 与 Probe24-02基数/健康检查 tests
服务器、Worker 与容器25-01构建/部署边界
信号、排空与优雅退出25-02operations_examples.py
发布、回滚、迁移与运维25-03发布状态与 Runbook
语法、类型、导入与依赖排障26-01模块来源/包版本快照
运行时、内存、并发与性能排障26-02Profile/内存/并发证据链
生产事件与发布故障26-03脱敏 runtime snapshot

6、第七批覆盖矩阵 ​

主题正文可执行证据
Python 3.11-3.14 核心差异27-01runtime_capabilities()
弃用、兼容层与能力探测27-02supports_syntax() + 5 tests
生产迁移与回归矩阵27-03版本窗口与制品验证
综合项目架构与风险28-01capstone.py
综合实现、交付与验收28-024 capstone tests + Wheel
分级练习与代码审查28-039 组练习 + 3 组审查题
场景化面试与评分28-0420 题 + 系统设计题

安全扫描只能发现规则库已知模式,不覆盖业务授权、未知漏洞、运行时配置或基础设施权限;仍需人工审查、威胁建模和按风险选择渗透测试。

九、术语、代码与写作规范 ​

  • 语言:所有解释、注释与用户可见文本使用中文;标识符、API、命令与协议字段保留原文。
  • 术语:首次出现重要术语时附英文名称或缩写,例如全局解释器锁(Global Interpreter Lock,GIL)、类型提示(Type Hints);全库术语归一见 术语表。
  • 代码风格:遵循 PEP 8;示例默认加类型标注并通过 ruff + mypy 检查;以清晰、惯用、可测试为优先,不为展示设计模式制造不必要抽象。
  • 层次标注:区分"规范保证 / 标准库契约 / CPython 实现细节 / 其他实现差异 / 环境差异",性能结论必须附环境与方法。
  • 失败路径:示例尽量给出异常类型、原因与资源清理方式。

十、官方资料引用规范 ​

版本、语言语义、标准库、类型、构建工具、发布说明与安全公告优先查询官方资料,来源优先级:

  1. Python Language Reference 与 Python Data Model。
  2. Python 官方标准库文档。
  3. Python Packaging User Guide 与 PyPA 项目官方文档。
  4. PEP 原文、Python Release Notes 与 Security 页面。
  5. CPython 官方源码、Issue 与开发者指南。
  6. 所用框架、数据库驱动与数据工具的官方文档。
  7. 经过交叉验证的高质量工程资料。

十一、内容维护、版本升级与弃用规则 ​

  1. 版本纪律:版本敏感内容说明首次支持版本、当前行为、弃用状态与迁移注意事项。
  2. 不臆造:不编造语法、标准库 API、PEP、命令参数、类型规则或解释器配置;无法确认者标注"待验证"并给出验证方法。
  3. 不静默覆盖:过期内容保留适用版本或迁移链接,不直接删除历史结论。
  4. 风险显式化:生产变更、数据删除、权限修改与外部调用必须显式说明风险与安全替代方案。
  5. 交叉引用完整:新增章节需回填相关章节的"关联章节",避免断链。

十二、RAG 切分与检索建议 ​

  • 按文档切分:每篇主题文档是一个自包含知识单元,长文按二级或三级标题切分。
  • 保留上下文:每个切片保留标题路径、Python 版本、平台、前置知识与来源;代码、输出、解释与警告尽量不跨切片。
  • 利用 frontmatter:title / slug / category / python_versions / verified_at / keywords 可作为过滤与召回增强字段。
  • 版本过滤:检索时用 python_versions 字段按目标版本过滤,避免召回不适用的版本行为。
  • 术语归一:结合 术语表 做同义词归一(如"协程 / Coroutine"),提升召回率。

十三、检索关键词 ​

Python 知识库、Python 教程、CPython、类型提示、数据模型、可变性、asyncio、GIL、多进程、打包、pyproject、pytest、性能分析、安全编码、RAG 知识源。

ICP 备案号待补充 · Gitee 主页