posts

《Python高级编程》 · 全书目录与章节索引(34 篇)

《Python高级编程》全 34 篇,是一套面向已有 Python 工程经验、想弄懂 CPython 内部机制的进阶教材:从对象模型与元编程讲起,下探字节码与解释器、内存管理与 GC、并发模型与异步运行时原理,再讲导入系统、类型系统的运行时边界、C/Cython/PyO3 扩展,最后落到性能工程与打包分发、运行时与生态演进。每节都以「CPython 实现细节、亲手实测、版本差异」为写作底线。本页给出全书分章目录。

《Python高级编程》全 34 篇,是一套写给「已经会写 Python、想弄懂它为什么这样运行」的人的进阶教材:从对象模型一路下探到解释器与运行时,再回到性能与分发。

本页是《Python高级编程》的全书目录:按章节顺序列出全部 34 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读。

全书概览

项目内容
书稿《Python高级编程》
篇数34 篇(正文 11 章 33 节 + 目录篇)
领域CPython 实现机制与性能工程
阅读方式从目录篇 进入按顺序通读,或按章节表跳读
实测版本Python 3.14.6(本机标准构建,非自由线程、未启用 JIT)
上级专题书稿专题

全书目录

第 1 章 对象模型与数据模型

节文章核心内容
1.1一切皆对象:类型、标识与引用本节从 CPython 实现层拆开「一切皆对象」:用 id/type/sys.getsi…
1.2属性查找、描述符协议与 getattr本节用实测把 obj.attr 的查找顺序拆开:沿 type.mro 找数据描述…
1.3魔术方法驱动的协议设计本节从协议角度讲清 dunder:用实测证明隐式调用只在类型上查找、绕过实例字典,拆开迭…

第 2 章 元编程

节文章核心内容
2.1元类与 init_subclass本节从 CPython 实现角度拆解 class 语句:它如何脱糖成 __build_c…
2.2类装饰器、set_name 与属性工厂本节讲透类装饰器与 set_name 的执行时机:类装饰器在元类 _init…
2.3动态代码生成与 AST 变换本节从字符串拼接式的代码生成升级到 AST 变换:用 compile() 的三种模式、a…

第 3 章 字节码与解释器

节文章核心内容
3.1CPython 执行模型与字节码深入 CPython 执行内核:栈式虚拟机的求值栈与指令编码、dis 的栈效应计算、类与…
3.2dis / bytecode 与运行时代码改写实测运行时代码改写的三条路径:直接改 co_code / co_consts 与 Cod…
3.3实验性 JIT 与自适应解释器先实测本机 3.14.6 是否启用 JIT(sys._jit.is_available(…

第 4 章 内存管理与 GC

节文章核心内容
4.1引用计数、循环 GC 与分代回收本节拆开 CPython 的引用计数与循环 GC:用 sys.getrefcount 实…
4.2对象布局、__slots__ 与内存占用测量本节用 sys.getsizeof 逐类实测 int/str/list/dict/tup…
4.3内存泄漏定位本节用标准库 tracemalloc 做快照对比,把一次真实泄漏定位到具体行:两次各 5…

第 5 章 并发模型深水区

节文章核心内容
5.1GIL 的实现与影响边界从 CPython 源码机制出发拆解 GIL:解释器循环为何必须持有全局锁、切换间隔怎样…
5.2自由线程构建与迁移影响先如实交代本机并非自由线程构建,再从 PEP 703 的对象头改造、偏向引用计数、延迟引…
5.3多进程、共享内存与 IPC 选型用本机实测数字拆解多进程的三笔开销:fork/spawn/forkserver 的进程启…

第 6 章 异步运行时原理

节文章核心内容
6.1事件循环的实现与调度用 selectors 手写一个最小事件循环,再对照 CPython 的 BaseEve…
6.2任务、Future 与取消语义从 CPython 源码出发讲清 Task 与 Future 的关系:Future 的三…
6.3结构化并发与调试对比 asyncio.TaskGroup 与 anyio 4.15.1 的结构化并发,讲…

第 7 章 导入系统与包机制内部

节文章核心内容
7.1导入协议与 finder / loader从 CPython 实现层拆开 import:sys.meta_path 上三个默认 f…
7.2元路径钩子与自定义导入器亲手实现 MetaPathFinder 与 Loader 拦截导入,实测 sys.pat…
7.3命名空间包、zip 导入与冻结模块实测三类非普通目录的模块来源:PEP 420 命名空间包的 _NamespacePath…

第 8 章 类型系统运行时边界

节文章核心内容
8.1描述符协议与属性查找本书 1.2 节给过查找顺序的可观测结论,本节下沉到 C 实现层:object 与 ty…
8.2typing 的静态与运行时边界把注解里的类型当运行时对象来看:list[int] 是 types.GenericAli…
8.3注解的求值时机(PEP 649/749)Python 3.14 的 PEP 649/749 让注解不再在函数、类、模块定义时求值…

第 9 章 扩展与跨语言

节文章核心内容
9.1ctypes 与 cffi 调用 C从 CPython 用 dlopen 加载符号的机制讲起,实测 ctypes 的 err…
9.2Cython 与 NumPy 加速实测 Cython 3.3.0 把 .pyx 编译成 C 的完整过程:cdef 类型声明…
9.3PyO3 与 Rust 扩展讲清 PyO3 0.29.3 用 Rust 写扩展模块的架构:声明式模块、Bound<’…

第 10 章 性能工程

节文章核心内容
10.1剖析器内部与采样原理从 CPython 内部拆解三种剖析钩子:sys.settrace 的逐行回调、sys.…
10.2内存优化与数据结构选型用本机实测把「省内存」量化到底:sys.getsizeof 与 tracemalloc …
10.3自适应特化与 JIT 现状用 dis(adaptive=True) 实测同一函数冷启动与预热后的字节码差异(LOA…

第 11 章 分发、运行时与生态演进

节文章核心内容
11.1打包与分发机制用 uv build 真打一个包,逐文件拆开 wheel 的 .dist-info、RE…
11.2嵌入式与自由线程运行时真编译一个 C 宿主把 CPython 嵌进来,实测 Py_Initialize、PyR…
11.3PEP 流程与版本迁移策略从 PEP 的状态机讲起,用 future 与 warnings.depreca…
全部文章 Game Golang SaaS Rust Python Java 游戏开发 客户端开发 GameDev TypeScript