图书介绍
Python程序设计与算法基础教程pdf电子书版本下载
- 江红,余青松主编 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302466833
- 出版时间:2017
- 标注页数:401页
- 文件大小:48MB
- 文件页数:421页
- 主题词:软件工具-程序设计-教材
PDF下载
下载说明
Python程序设计与算法基础教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章Python概述 1
1.1 Python语言概述 1
1.1.1 Python语言简介 1
1.1.2 Python语言的特点 1
1.1.3 Python语言的应用范围 2
1.2 Python语言版本和开发环境 2
1.2.1 Python语言的版本 2
1.2.2 Python语言的实现 2
1.2.3 Python语言的集成开发环境 3
1.3下载和安装Python 3
1.3.1下载Python 3
1.3.2安装Python 4
1.3.3安装和管理Python扩展包 4
1.4使用Python解释器解释执行Python程序 6
1.4.1运行Python解释器 6
1.4.2运行Python集成开发环境 7
1.5使用文本编辑器和命令行编写和执行Python源文件程序 8
1.5.1编写Hello World程序 9
1.5.2 Hello World程序(hello.py )源代码分析 10
1.5.3运行Python源代码程序 10
1.5.4命令行参数 11
1.6使用集成开发环境IDLE编写和执行Python源文件程序 12
1.6.1使用IDLE编写程序 12
1.6.2使用IDLE编辑程序 13
1.7在线帮助和相关资源 13
1.7.1 Python交互式帮助系统 13
1.7.2 Python文档 16
1.7.3 Python官网 17
1.7.4 Python扩展库索引(PyPI) 17
复习题 18
上机实践 19
第2章Python语言基础 20
2.1 Python程序概述 20
2.1.1引例 20
2.1.2 Python程序构成 20
2.2 Python对象和引用 21
2.2.1 Python对象概述 21
2.2.2使用字面量创建实例对象 21
2.2.3使用类对象创建实例对象 22
2.2.4数据类型 22
2.2.5变量和对象的引用 22
2.2.6 Python是动态类型语言 23
2.2.7 Python是强类型语言 24
2.2.8对象内存示意图 24
2.2.9对象的值比较(==)和引用判别(is) 25
2.2.10不可变对象(immutable)和可变对象(mutable) 25
2.3标识符及其命名规则 26
2.3.1标识符 26
2.3.2保留关键字 27
2.3.3 Python预定义标识符 27
2.3.4命名规则 27
2.4变量和赋值语句 28
2.4.1变量的声明和赋值 28
2.4.2链式赋值语句 28
2.4.3复合赋值语句 29
2.4.4删除变量 29
2.4.5系列解包赋值 29
2.4.6常量 30
2.5表达式和运算符 30
2.5.1表达式的组成 30
2.5.2表达式的书写规则 31
2.5.3运算符概述 31
2.5.4 Python运算符及其优先级 31
2.6语句 32
2.6.1 Python语句 32
2.6.2 Python语句的书写规则 33
2.6.3复合语句及其缩进书写规则 33
2.6.4注释语句 34
2.6.5空语句pass 34
2.7函数和模块 34
2.7.1函数的创建和调用 34
2.7.2内置函数 35
2.7.3模块函数 35
2.7.4函数API 36
2.8类和对象 36
2.8.1创建类对象 36
2.8.2实例对象的创建和调用 37
2.9模块和包 37
复习题 37
上机实践 39
第3章 程序流程控制 41
3.1顺序结构 41
3.2选择结构 41
3.2.1分支结构的形式 42
3.2.2单分支结构 42
3.2.3双分支结构 43
3.2.4多分支结构 44
3.2.5 if语句的嵌套 45
3.2.6 if语句典型示例代码 46
3.2.7选择结构综合举例 47
3.3循环结构 48
3.3.1可迭代对象 48
3.3.2 range对象 49
3.3.3 for循环 49
3.3.4 while循环 50
3.3.5循环的嵌套 51
3.3.6 break语句 52
3.3.7 continue语句 53
3.3.8死循环(无限循环) 54
3.3.9 else子句 55
3.3.10循环语句典型示例代码 55
3.3.11循环结构综合举例 56
复习题 57
上机实践 60
第4章 常用内置数据类型 64
4.1 Python内置数据类型概述 64
4.1.1数值数据类型 64
4.1.2序列数据类型 64
4.1.3集合数据类型 65
4.1.4字典数据类型 65
4.1.5 NoneType、 NotImplementedType和E1lipsisType 65
4.1.6其他数据类型 65
4.2 int数据类型(任意精度整数) 65
4.2.1整型字面量 66
4.2.2 int对象 66
4.2.3 int对象的方法 66
4.2.4整数的运算 67
4.3 float类型(有限精度浮点数) 68
4.3.1浮点类型字面量 68
4.3.2 float对象 68
4.3.3 float对象的方法 68
4.3.4浮点数的运算 69
4.4 complex类型(复数) 70
4.4.1复数类型字面量 70
4.4.2 complex对象 70
4.4.3 complex对象属性和方法 70
4.4.4复数的运算 70
4.5 bool数据类型(布尔逻辑值) 71
4.5.1布尔值字面量 71
4.5.2 bool对象 71
4.5.3逻辑运算符 72
4.6 str数据类型(字符串) 73
4.6.1字符串字面量 73
4.6.2字符串编码 73
4.6.3转义字符 73
4.6.4 str对象 74
4.6.5 str对象属性和方法 74
4.6.6字符串的运算 75
4.6.7对象转换为字符串 75
4.6.8字符串的格式化 75
4.7比较关系运算和条件表达式 76
4.7.1条件表达式 76
4.7.2关系和测试运算符 77
4.8算术运算符和位运算符 78
4.8.1算术运算符 78
4.8.2位运算符 78
4.9混合运算和数值类型转换 79
4.9.1隐式转换 79
4.9.2显式转换(强制转换) 79
4.10内置标准数学函数 80
4.10.1内置数学运算函数 80
4.10.2数制转换函数 80
复习题 81
上机实践 84
第5章 系列数据类型 89
5.1 Python系列数据概述 89
5.1.1数组 89
5.1.2系列数据类型 89
5.2系列数据的基本操作 90
5.2.1系列的长度、最大值、最小值、求和 90
5.2.2系列的索引访问操作 90
5.2.3系列的切片操作 91
5.2.4系列的连接和重复操作 92
5.2.5系列的成员关系操作 92
5.2.6系列的比较运算操作 93
5.2.7系列的排序操作 94
5.2.8内置函数all()和any() 94
5.2.9系列拆封 94
5.3元组 95
5.3.1使用元组字面量创建元组实例对象 95
5.3.2使用tuple对象创建元组实例对象 96
5.3.3元组的系列操作 96
5.4列表 96
5.4.1使用列表字面量创建列表实例对象 96
5.4.2使用list对象创建元组实例对象 97
5.4.3列表的系列操作 97
5.4.4 list对象的方法 97
5.4.5列表解析表达式 98
5.5字符串 98
5.5.1字符串的系列操作 98
5.5.2字符串编码 99
5.5.3字符串格式化 99
5.6字节系列 102
5.6.1 bytes常量 102
5.6.2创建bytes对象 102
5.6.3创建bytearray对象 103
5.6.4 bytes和bytearray的系列操作 103
5.6.5字节编码和解码 104
复习题 104
上机实践 106
第6章 输入和输出 108
6.1输入和输出概述 108
6.2命令行参数 108
6.2.1 sys.argv与命令行参数 108
6.2.2 argparse模块和命令行参数解析 109
6.3标准输入和标准输出函数 110
6.3.1输入和输出函数 110
6.3.2交互式用户输入 111
6.3.3运行时提示输入密码 112
6.4文件和文件对象 112
6.4.1文件对象和open函数 112
6.4.2文件的打开、写入、读取和关闭 113
6.4.3 with语句和上下文管理协议 113
6.5标准输入、输出和错误流 114
6.5.1标准输入、输出和错误流文件对象 114
6.5.2读取任意长度的输入流 115
6.5.3标准输入、输出和错误流重定向 115
6.6重定向和管道 116
6.6.1重定向标准输出到一个文件 117
6.6.2重定向文件到标准输入 117
6.6.3管道 118
6.6.4过滤器 119
复习题 121
上机实践 121
第7章 错误和异常处理 123
7.1程序的错误 123
7.1.1语法错误 123
7.1.2运行时错误 123
7.1.3逻辑错误 124
7.2异常处理 125
7.2.1异常处理概述 125
7.2.2内置的异常类 125
7.2.3引发异常 127
7.2.4捕获处理异常机制概述 128
7.2.5 Python虚拟机捕获处理异常 128
7.2.6使用try …except…else …fiinally语句捕获处理异常 128
7.2.7捕获异常的顺序 129
7.2.8 fiinally块和发生异常后的处理 130
7.2.9自定义异常类 130
7.3断言处理 131
7.3.1断言处理概述 131
7.3.2 assert语句和AssertionError类 131
7.3.3启用/禁用断言 132
7.4程序的基本调试方法 132
7.4.1语法错误的调试 133
7.4.2运行时错误的调试 133
7.4.3逻辑错误的调试 134
复习题 134
上机实践 135
第8章 函数 137
8.1函数概述 137
8.1.1函数的基本概念 137
8.1.2函数的功能 137
8.1.3 Python函数分类 137
8.2函数的声明和调用 138
8.2.1函数对象的创建 138
8.2.2函数的调用 139
8.2.3作为对象的函数 140
8.2.4 Lamda表达式和匿名函数 140
8.2.5函数的副作用 141
8.3参数的传递 141
8.3.1形式参数和实际参数 141
8.3.2形式参数变量和对象引用传递 142
8.3.3传递不可变对象的引用 142
8.3.4传递可变对象的引用 143
8.3.5可选参数 143
8.3.6位置参数和命名参数 144
8.3.7可变参数 145
8.3.8强制命名参数 145
8.3.9参数类型检查 146
8.4函数的返回值 146
8.4.1 return语句和函数返回值 146
8.4.2多条return语句 147
8.4.3返回多个值 148
8.5变量的作用域 148
8.5.1全局变量 148
8.5.2局部变量 149
8.5.3全局语句global 150
8.5.4非局部语句nonlocal 151
8.5.5类成员变量 151
8.5.6输出局部变量和全局变量 151
8.6递归函数 152
8.6.1递归函数的定义 152
8.6.2递归函数的原理 153
8.6.3递归函数需要注意的问题 154
8.6.4递归函数的应用:最大公约数 154
8.6.5递归函数的应用:汉诺塔 155
8.7内置函数的使用 156
8.7.1内置函数一览 156
8.7.2 eval函数 156
8.7.3 exec函数 157
8.7.4 compile函数 157
复习题 157
上机实践 159
第9章 类和对象 161
9.1面向对象概念 161
9.1.1对象的定义 161
9.1.2封装 161
9.1.3继承 161
9.1.4多态性 161
9.2类对象和实例对象 162
9.2.1类对象 162
9.2.2实例对象 162
9.3属性 163
9.3.1实例属性 163
9.3.2类属性 164
9.3.3私有属性和公有属性 164
9.3.4@property装饰器 165
9.3.5特殊属性 167
9.3.6自定义属性 167
9.4方法 168
9.4.1实例方法 168
9.4.2静态方法 169
9.4.3类方法 170
9.4.4 init方法(构造函数)和new方法 171
9.4.5 del方法(析构函数) 172
9.4.6私有方法与公有方法 173
9.4.7方法重载 173
9.5继承 174
9.5.1派生类 174
9.5.2查看继承的层次关系 175
9.5.3类成员的继承和重写 176
9.6对象的特殊方法 176
9.6.1对象的特殊方法概述 176
9.6.2运算符重载与对象的特殊方法 177
9.6.3@functools.total_ordering装饰器 179
9.6.4 call方法和可调用对象 179
9.7对象的引用、浅拷贝和深拷贝 180
9.7.1对象的引用 180
9.7.2对象的浅拷贝 180
9.7.3对象的深拷贝 181
复习题 181
上机实践 183
第10章 模块和客户端 185
10.1模块化程序设计的概念 185
10.1.1模块化程序设计 185
10.1.2模块的API 185
10.1.3模块的实现 186
10.1.4模块的客户端 187
10.1.5模块化程序设计的优越性 187
10.2模块的设计和实现 188
10.2.1模块设计的一般原则 188
10.2.2 API设计 188
10.2.3创建模块 188
10.2.4模块的私有函数 189
10.2.5模块的测试代码 190
10.2.6编写模块文档字符串 191
10.2.7按字节编译的.pyc文件 192
10.3模块的导入和使用 192
10.3.1导入模块和使用模块 192
10.3.2导入模块中的成员 192
10.3.3重新加载模块 193
10.3.4动态代入模块 193
10.4包 194
10.4.1包的概念 194
10.4.2创建包 194
10.4.3包的导入和使用 195
10.5模块的导入顺序 195
10.5.1导入模块时的搜索顺序 195
10.5.2模块搜索路径sys.path 196
10.5.3 dir()内置函数 197
10.6命名空间与名称查找顺序 198
复习题 198
上机实践 199
第11章 算法与数据结构基础 200
11.1算法及其性能分析 200
11.1.1算法概述 200
11.1.2算法的时间复杂度分析 200
11.1.3增长量级 201
11.1.4算法的空间复杂度分析 202
11.2查找算法 202
11.2.1顺序查找法 202
11.2.2二分查找法 204
11.2.3 Python语言提供的查找算法 205
11.3排序算法 205
11.3.1冒泡排序法 205
11.3.2选择排序法 206
11.3.3插入排序法 207
11.3.4归并排序法 208
11.3.5快速排序法 210
11.3.6 Python语言提供的排序算法 211
11.4常用数据结构 211
11.4.1数据结构概述 211
11.4.2常用的数据结构概述 212
11.4.3 Python的collections模块 212
11.5数组 213
11.5.1列表和数组 213
11.5.2 array.array对象和数组 213
11.6栈和队列 214
11.6.1栈的实现:使用列表 214
11.6.2 deque对象 215
11.6.3 deque作为栈 216
11.6.4 deque作为队列 216
11.7集合 217
11.7.1集合的定义 217
11.7.2判断集合元素是否存在 217
11.7.3集合的运算:并集、交集、差集和对称差集 218
11.7.4集合的比较运算:相等、子集和超集 218
11.7.5集合的长度、最大值、最小值、元素和 219
11.7.6可变集合的方法 219
11.8字典(映射) 220
11.8.1对象的哈希值 220
11.8.2字典的定义 220
11.8.3字典的访问操作 221
11.8.4字典的视图对象 221
11.8.5判断字典键是否存在 221
11.8.6字典对象的长度和比较 221
11.8.7字典对象的方法 222
11.8.8 defaultdict对象 222
11.8.9 OrderedDict对象 223
11.8.10 ChainMap对象 223
11.8.11 Counter对象 224
11.9 collections模块的其他数据结构 226
11.9.1 namedtuple对象 226
11.9.2 UserDict、 UserList和UserString对象 227
复习题 227
上机实践 230
第12章 图形用户界面 233
12.1图形用户界面概述 233
12.1.1 tkinter 233
12.1.2其他GUI库简介 233
12.2 tkinter概述 234
12.2.1 tkinter模块 234
12.2.2图形用户界面构成 234
12.2.3框架和GUI应用程序类 235
12.2.4 tkinter主窗口 236
12.3几何布局管理器 236
12.3.1 pack几何布局管理器 237
12.3.2grid几何布局管理器 237
12.3.3 place几何布局管理器 239
12.4事件处理 240
12.4.1事件类型 240
12.4.2事件绑定 240
12.4.3事件处理函数 241
12.5常用组件 242
12.5.1 Label 242
12.5.2 LabelFrame 242
12.5.3 Button 243
12.5.4 Message 244
12.5.5 Entry 245
12.5.6 Text 245
12.5.7 Radiobutton 247
12.5.8 Checkbutton 247
12.5.9 Listbox 250
12.5.10 OptionMenu 251
12.5.11 Scale 253
12 5.12 Toplevel 254
12.5.13 ttk子模块控件 254
12.6对话框 255
12.6.1通用消息对话框 255
12.6.2文件对话框 256
12.6.3颜色选择对话框 257
12.6.4通用对话框应用举例 258
12.6.5简单对话框 259
12.7菜单和工具栏 260
12.7.1创建主菜单 260
12.7.2创建上下文菜单 262
12.7.3菜单应用举例 263
复习题 265
上机实践 266
第13章 图形绘制 268
13.1 Python绘图模块概述 268
13.2基于tkinter的图形绘制 269
13.2.1基于tkinter画布绘图概述 269
13.2.2创建画布对象 269
13.2.3绘制矩形 270
13.2.4绘制椭圆 270
13.2.5绘制圆弧 271
13.2.6绘制线条 271
13.2.7绘制多边形 272
13.2.8绘制字符串 273
13.2.9应用举例:函数图形 273
13.3基于turtle模块的海龟绘图 274
13.3.1海龟绘图概述 274
13.3.2 turtle模块概述 274
13.3.3绘制正方形 275
13.3.4绘制多边形 275
13.3.5绘制圆形螺旋 276
13.3.6递归图形 277
13.3.7海龟绘图的应用实例 278
13.4基于Matplotlib模块的绘图 279
13.4.1 Matplotlib模块概述 279
13.4.2安装Matplotlib模块 279
13.4.3使用Matplotlib模块绘图概述 280
13.4.4绘制函数曲线 280
13.4.5绘制多个图形 281
13.4.6绘制直方图 282
复习题 283
上机实践 284
第14章 数值日期和时间处理 286
14.1相关模块概述 286
14.1.1数值处理的相关模块 286
14.1.2日期和时间处理的相关模块 286
14.2 math模块和数学函数 286
14.2.1 math模块的API 286
14.2.2 math模块应用举例 289
14.3 cmath模块和复数数学函数 290
14.4 random模块和随机函数 291
14.4.1种子和随机状态 291
14.4.2随机整数 292
14.4.3随机系列 293
14.5数值运算模块NumPy 293
14.5.1数值运算模块的基本使用 293
14.5.2创建数组 294
14.5.3处理数组 295
14.5.4数组应用举例 295
14.6日期和时间处理 295
14.6.1相关术语 295
14.6.2时间对象 296
14.6.3测量程序运行时间 296
14.6.4日期对象 297
14.6.5获取当前日期时间 297
14.6.6日期时间格式化为字符串 298
14.6.7日期时间字符串解析为日期时间对象 298
复习题 299
上机实践 300
第15章 字符串和文本处理 303
15.1相关模块概述 303
15.1.1字符串和文本处理的相关模块 303
15.1.2字符串处理概述的常用方法 303
15.2字符串处理的常用操作 303
15.2.1字符串的类型判断 303
15.2.2字符串大小写转换 304
15.2.3字符串的填充、空白和对齐 304
15.2.4字符串的测试、查找和替换 305
15.2.5字符串的拆分和组合 305
15.2.6字符串的翻译和转换 306
15.2.7字符串应用举例 306
15.3正则表达式 307
15.3.1正则表达式语言概述 307
15.3.2正则表达式引擎 308
15.3.3普通字符和转义字符 308
15.3.4字符类和预定义字符类 309
15.3.5边界匹配符 309
15.3.6重复限定符 310
15.3.7匹配算法:贪婪和懒惰 310
15.3.8选择分支 311
15.3.9分组和向后引用 311
15.3.10正则表达式的匹配模式 313
15.3.11常用正则表达式 313
15.4正则表达式模块re 313
15.4.1匹配和搜索函数 313
15.4.2匹配选项 314
15.4.3正则表达式对象 314
15.4.4匹配对象 315
15.4.5匹配和替换 316
15.4.6分割字符串 316
15.5正则表达式应用举例 316
15.5.1字符串包含验证 316
15.5.2字符串查找和拆分 317
15.5.3字符串替换和清除 318
15.5.4字符串查找和截取 318
复习题 319
上机实践 320
第16章 文件 322
16.1文件操作相关模块概述 322
16.2文本文件的读取和写入 322
16.2.1文本文件的写入 322
16.2.2文本文件的读取 323
16.2.3文本文件的编码 324
16.3二进制文件的读取和写入 325
16.3.1二进制文件的写入 325
16.3.2二进制文件的读取 326
16.4随机文件访问 326
16.5内存文件的操作 328
16.5.1 StringIO和内存文本文件操作 328
16.5.2 BytesIO和内存文本文件操作 328
16.6文件的压缩和解压缩 329
16.7 CSV文件格式的读取和写入 329
16.7.1 csv .reader对象和csv文件的读取 330
16.7.2 csv .writer对象和csv文件的写入 330
16.7.3 csv .DictReader对象和csv文件的读取 331
16.7.4 csv.DictWriter对象和csv文件的写入 332
16.7.5 csv文件格式化参数和Dialect对象 332
16.8 os模块和文件访问 334
16.8.1文件描述符 334
16.8.2使用os模块提供的函数访问文件 334
16.9输入重定向和管道 335
16.9.1 FileInput对象 335
16.9.2 fiileinput模块的函数 336
16.9.3输入重定向 337
16.10对象系列化 338
16.10.1对象系列化概念 338
16.10.2 pickle模块和对象系列化 338
复习题 339
上机实践 340
第17章 数据库访问 341
17.1数据库基础 341
17.1.1数据库概念 341
17.1.2关系数据库 341
17.2 Python数据库访问模块 342
17.2.1通用数据库访问模块 342
17.2.2专用数据库访问模块 343
17.2.3 SQLite数据库和sqlite3模块 343
17.3使用sqlite3模块连接和操作SQLite数据库 344
17.3.1访问数据库的典型步骤 344
17.3.2创建数据库和表 346
17.3.3数据库表的插入、更新和删除操作 346
17.3.4数据库表的查询操作 347
复习题 347
上机实践 348
第18章 网络编程和通信 349
18.1网络编程的基本概念 349
18.1.1网络基础知识 349
18.1.2 TCP/IP简介 349
18.1.3 IP地址和域名 350
18.1.4统一资源定位器URL 351
18.2基于socket的网络编程 352
18.2.1 socket概述 352
18.2.2创建socket对象 353
18.2.3将服务器端socket绑定到指定地址上 353
18.2.4服务器端socket开始侦听 354
18.2.5连接和接收连接 355
18.2.6发送和接收数据 355
18.2.7简单TCP程序:Echo Server 355
18.2.8简单UDP程序:Echo Server 357
18.2.9 UDP程序:Quote Server 358
18.3基于urllib的网络编程 359
18.3.1打开和读取URL网络资源 359
18.3.2创建Request对象 359
18.4基于http的网络编程 360
18.5基于ftplib的网络编程 360
18.5.1创建FTP对象 361
18.5.2创建FTP TLS对象 362
18.6基于poplib和smtplib的网络编程 363
18.6.1使用poplib接收邮件 363
18.6.2使用smtplib发送邮件 363
复习题 364
上机实践 365
第19章 多线程编程 367
19.1线程处理概述 367
19.1.1进程和线程 367
19.1.2线程的优缺点 367
19.2创建和启动多线程 368
19.2.1使用start_new _thread函数创建线程 368
19.2.2使用Thread对象创建线程 368
19.2.3自定义派生于Thread的对象 370
19.2.4线程加入join() 370
19.2.5用户线程和daemon线程 371
19.3线程同步 373
19.3.1线程同步处理 373
19.3.2基于原语锁(Lock/RLock对象)的简单同步 373
19.3.3基于条件变量(Condition对象)的同步和通信 375
复习题 377
上机实践 378
第20章 系统管理 379
20.1系统管理相关模块 379
20.2目录、文件和磁盘的基本操作 379
20.2.1创建目录 379
20.2.2临时目录和文件的创建 379
20.2.3切换当前工作目录 380
20.2.4目录内容列表 380
20.2.5文件通配符和glob.glob函数 380
20.2.6遍历目录和os.walk函数 381
20.2.7判断文件/目录是否存在 381
20.2.8测试文件类型 382
20.2.9文件的日期及其大小 382
20.2.10文件和目录的删除 382
20.2.11文件和目录复制、重命名和移动 383
20.2.12磁盘的基本操作 383
20.3执行操作系统命令和运行其他程序 383
20.3.1 os.system函数 383
20.3.2 os.popen函数 384
20.3.3 subprocess模块 384
20.4获取终端的大小 385
20.5文件压缩和解压缩 386
20.5.1 shutil模块支持的压缩和解压缩格式 386
20.5.2 make archive()和文件压缩 386
20.5.3 unpack archive()函数和文件解压缩 387
20.6 confiigparser模块和配置文件 387
20.6.1 INI文件及INI文件格式 387
20.6.2 ConfigParser对象和INI文件操作 388
复习题 389
上机实践 390
附录 复习题参考答案 391
参考文献 400