Skip to content

Commit 81df874

Browse files
committed
重构全书为六部分结构,重排第三部分大纲
将原三部分拆分调整为:准备、对象与类型系统、编译、虚拟机、运行时、内存管理;第三部分按由浅入深重排为 13 章,分置于编译/虚拟机/运行时/内存四部分
1 parent 7f67bac commit 81df874

3 files changed

Lines changed: 67 additions & 20 deletions

File tree

.vitepress/config.mts

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default defineConfig({
3535

3636
sidebar: [
3737
{
38-
text: '第 1 部分:序章',
38+
text: '第 1 部分:准备',
3939
items: [
4040
{ text: '前言', link: '/' },
4141
{ text: 'Python 源代码的组织', link: '/preface/code-organization/' },
@@ -45,7 +45,7 @@ export default defineConfig({
4545
]
4646
},
4747
{
48-
text: '第 2 部分:Python 内建对象',
48+
text: '第 2 部分:对象与类型系统',
4949
items: [
5050
{ text: 'Python 对象初探', link: '/objects/object/' },
5151
{ text: 'Python 整数对象', link: '/objects/long-object/' },
@@ -61,9 +61,27 @@ export default defineConfig({
6161
]
6262
},
6363
{
64-
text: '第 3 部分:Python 虚拟机',
64+
text: '第 3 部分:编译',
6565
items: [
66-
{ text: '(编写中…)', link: '/' }
66+
{ text: '从源码到字节码(编写中…)', link: '/' }
67+
]
68+
},
69+
{
70+
text: '第 4 部分:虚拟机',
71+
items: [
72+
{ text: '字节码的执行(编写中…)', link: '/' }
73+
]
74+
},
75+
{
76+
text: '第 5 部分:运行时',
77+
items: [
78+
{ text: '初始化、模块与并发(编写中…)', link: '/' }
79+
]
80+
},
81+
{
82+
text: '第 6 部分:内存管理',
83+
items: [
84+
{ text: '分配与垃圾回收(编写中…)', link: '/' }
6785
]
6886
}
6987
],

SUMMARY.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# 大纲
22

3-
## 第 1 部分:序章
3+
## 第 1 部分:准备
44

55
- [前言](README.md)
66
- [Python 源代码的组织](preface/code-organization/index.md)
77
- [Windows 环境下编译 Python](preface/windows-build/index.md)
88
- [UNIX/Linux 环境下编译 Python](preface/unix-linux-build/index.md)
99
- [修改 Python 源码](preface/modify-code/index.md)
1010

11-
## 第 2 部分:Python 内建对象
11+
## 第 2 部分:对象与类型系统
1212

1313
- [Python 对象初探](objects/object/index.md)
1414
- [Python 整数对象](objects/long-object/index.md)
@@ -22,4 +22,27 @@
2222
- [Python 布尔与 None 对象](objects/bool-none-object/index.md)
2323
- [Python 类型对象与自定义类](objects/type-object/index.md)
2424

25-
## 第 3 部分:Python 虚拟机
25+
## 第 3 部分:编译
26+
27+
- 从源码到字节码(编译过程)
28+
- 编译的产物:code object 与 pyc
29+
30+
## 第 4 部分:虚拟机
31+
32+
- Python 虚拟机框架(帧对象与求值循环)
33+
- 一般表达式与名字空间
34+
- 控制流:跳转、循环与迭代器
35+
- 异常机制:block 栈与栈展开
36+
- 函数机制:调用、参数与闭包
37+
- 生成器与协程
38+
39+
## 第 5 部分:运行时
40+
41+
- Python 运行环境初始化
42+
- 模块与 import 机制
43+
- 多线程与 GIL
44+
45+
## 第 6 部分:内存管理
46+
47+
- 内存分配与引用计数(pymalloc)
48+
- 循环垃圾回收(分代 GC)

index.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@
66

77
## Roadmap
88

9-
大体按照《Python 源码剖析》中的目录结构进行编写。依次介绍 Python 源码基本信息、内建对象和虚拟机
9+
《Python 源码剖析》的基础上,按更贴合 CPython 3.7 的结构重新编排,分为六个部分:准备、对象与类型系统、编译、虚拟机、运行时、内存管理
1010

11-
- [x] 章节
12-
- [x] 序章
11+
- [x] 第 1 部分:准备
1312
- [x] 前言
1413
- [x] Python 源代码的组织
1514
- [x] Windows 环境下编译 Python
1615
- [x] UNIX/Linux 环境下编译 Python
1716
- [x] 修改 Python 源码
18-
- [x] Python 内建对象
17+
- [x] 第 2 部分:对象与类型系统
1918
- [x] Python 对象初探
2019
- [x] Python 整数对象
2120
- [x] Python 浮点数对象
@@ -27,13 +26,20 @@
2726
- [x] Python 集合对象
2827
- [x] Python 布尔与 None 对象
2928
- [x] Python 类型对象与自定义类
30-
- [ ] Python 虚拟机
31-
- [ ] Python 编译结果
32-
- [ ] Python 虚拟机框架
33-
- [ ] 虚拟机一般表达式
34-
- [ ] Python 虚拟机控制流
35-
- [ ] Python 虚拟机函数机制
29+
- [ ] 第 3 部分:编译
30+
- [ ] 从源码到字节码(编译过程)
31+
- [ ] 编译的产物:code object 与 pyc
32+
- [ ] 第 4 部分:虚拟机
33+
- [ ] Python 虚拟机框架(帧对象与求值循环)
34+
- [ ] 一般表达式与名字空间
35+
- [ ] 控制流:跳转、循环与迭代器
36+
- [ ] 异常机制:block 栈与栈展开
37+
- [ ] 函数机制:调用、参数与闭包
38+
- [ ] 生成器与协程
39+
- [ ] 第 5 部分:运行时
3640
- [ ] Python 运行环境初始化
37-
- [ ] Python 模块加载机制
38-
- [ ] Python 多线程机制
39-
- [ ] Python 内存管理机制
41+
- [ ] 模块与 import 机制
42+
- [ ] 多线程与 GIL
43+
- [ ] 第 6 部分:内存管理
44+
- [ ] 内存分配与引用计数(pymalloc)
45+
- [ ] 循环垃圾回收(分代 GC)

0 commit comments

Comments
 (0)