第1章 概述 1
第2章 类型 5
2.1基本环境 5
2.1.1印象 5
2.1.2名字 9
2.1.3内存 16
2.1.4编译 26
2.1.5执行 30
2.2内置类型 34
2.2.1整数 35
2.2.2浮点数 44
2.2.3字符串 50
2.2.4字节数组 61
2.2.5列表 65
2.2.6字典 76
2.2.7集合 85
第3章 表达式 91
3.1词法 91
3.1.1源文件 92
3.1.2代码 95
3.2赋值 100
3.2.1增量赋值 101
3.2.2序列解包 102
3.2.3作用域 107
3.3运算符 110
3.3.1链式比较 113
3.3.2切片 114
3.3.3逻辑运算 117
3.4控制流 121
3.4.1选择 121
3.4.2循环 123
3.5推导式 128
第4章 函数 133
4.1定义 133
4.2参数 141
4.3返回值 149
4.4作用域 151
4.5闭包 157
4.6调用 165
第5章 迭代器 174
5.1迭代器概述 174
5.2生成器 179
5.3模式 186
5.4函数式编程 190
第6章 模块 195
6.1定义 195
6.2导入 199
6.2.1搜索 200
6.2.2编译 202
6.2.3引用 204
6.3包 213
6.3.1初始化 214
6.3.2相对导入 218
6.3.3拆分 221
第7章 类 223
7.1定义 223
7.2字段 230
7.3属性 235
7.4方法 238
7.5继承 243
7.5.1统一类型 244
7.5.2初始化 246
7.5.3覆盖 247
7.5.4多继承 248
7.5.5抽象类 254
7.6开放类 256
7.7运算符重载 263
第8章 异常 269
8.1异常概述 269
8.2断言 284
8.3上下文 288
第9章 元编程 294
9.1装饰器 294
9.1.1实现 295
9.1.2应用 301
9.2描述符 304
9.3元类 308
9.3.1自定义 309
9.3.2应用 314
9.4注解 315
第10章 进阶 318
10.1解释器 318
10.1.1字节码 318
10.1.2全局锁 321
10.1.3执行过程 326
10.1.4内存分配 334
10.1.5垃圾回收 343
10.2扩展 349
10.2.1 ctypes 349
10.2.2 Cython 356
第11章 测试 364
11.1单元测试 364
11.1.1 unittest 365
11.1.2 unittest.mock 374
11.1.3 coverage 383
11.2性能测试 383
11.2.1 timeit 383
11.2.2 profiile 385
11.2.3 line profiiler 388
11.2.4 memory profiiler 390
11.2.5 pympler 391
第12章 工具 396
12.1调试器 396
12.2包管理 410