图书介绍
Python程序设计教程pdf电子书版本下载
- 江红,余青松编著 著
- 出版社: 清华大学出版社;北京交通大学出版社
- ISBN:9787512120433
- 出版时间:2014
- 标注页数:358页
- 文件大小:55MB
- 文件页数:379页
- 主题词:软件工具-程序设计-高等学校-教材
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语言的实现 3
1.2.3 Python语言的集成开发环境 3
1.3 下载和安装Python 3
1.3.1 下载Python 3
1.3.2 安装Python 4
1.4 使用Python解释器解释执行Python程序 5
1.4.1 运行Python解释器 5
1.4.2 运行Python集成开发环境 6
1.5 使用文本编辑器和命令行编写和执行Python源文件程序 7
1.5.1 编写Hello world程序 7
1.5.2 Hello world程序(hello.py)源代码分析 8
1.5.3 运行Python源代码程序 8
1.6 使用集成开发环境IDLE编写和执行Python源文件程序 9
1.6.1 使用IDLE编写Hello world程序 10
1.6.2 使用IDLE编辑程序 10
1.7 复习题 11
1.8 上机实践 12
第2章 Python语言基础 13
2.1 语句 13
2.1.1 Python语句 13
2.1.2 Python语句的书写规则 13
2.1.3 复合语句及其缩进书写规则 14
2.1.4 注释语句 14
2.1.5 空语句pass 15
2.2 表达式 15
2.2.1 表达式的组成 15
2.2.2 表达式的书写规则 15
2.3 运算符 15
2.3.1 运算符概述 15
2.3.2 Python运算符及其优先级 16
2.4 标识符及其命名规则 17
2.4.1 标识符 17
2.4.2 保留关键字 17
2.4.3 Python预定义标识符 18
2.4.4 命名规则 18
2.5 对象与引用 18
2.5.1 对象的类型(type)和标识(id) 18
2.5.2 对象引用 19
2.5.3 对象比较(==)和类型判别(is) 19
2.5.4 不可变对象(immutable)和可变对象(mutable) 20
2.6 变量和赋值 20
2.6.1 变量和数据类型 20
2.6.2 变量的声明和赋值 21
2.6.3 链式赋值语句 21
2.6.4 复合赋值语句 21
2.6.5 删除变量(del) 22
2.6.6 系列解包赋值 22
2.7 数据类型 23
2.7.1 NoneType,NotImplementedType和Ellipsis 23
2.7.2 数值数据类型 23
2.7.3 序列数据类型 24
2.7.4 集合数据类型 25
2.7.5 字典数据类型 25
2.7.6 其他数据类型 25
2.8 类的声明和对象的创建与调用 26
2.8.1 类的声明 26
2.8.2 对象的创建和调用 26
2.9 函数 27
2.9.1 函数的声明和调用 27
2.9.2 内置函数 28
2.9.3 模块函数和import语句 28
2.9.4 输入和输出函数 29
2.9.5 运行时提示输入密码 29
2.10 模块和包 30
2.11 Python文档注释 30
2.11.1 文档字符串 30
2.11.2 文档注释规范 31
2.12 复习题 32
2.13 上机实践 35
第3章 程序流程控制 36
3.1 bool数据类型和相关运算符 36
3.1.1 bool类型 36
3.1.2 关系和测试运算符 36
3.1.3 逻辑运算符 37
3.2 顺序结构 38
3.3 选择结构 39
3.3.1 分支结构的形式 39
3.3.2 单分支结构 39
3.3.3 双分支结构 40
3.3.4 多分支结构 41
3.3.5 if语句的嵌套 42
3.3.6 选择结构综合举例 43
3.4 循环结构 44
3.4.1 可迭代对象(iterable) 44
3.4.2 for循环 45
3.4.3 range对象 45
3.4.4 while循环 46
3.4.5 循环的嵌套 47
3.4.6 break语句 48
3.4.7 continue语句 49
3.4.8 else子句 50
3.5 异常处理 51
3.5.1 错误和异常 51
3.5.2 异常处理概述 51
3.5.3 内置的异常类 52
3.5.4 自定义异常类 53
3.5.5 引发异常 53
3.5.6 捕获处理异常try…except…finally 54
3.6 断言处理 56
3.6.1 断言处理概述 56
3.6.2 assert语句和AssertionError类 57
3.6.3 启用/禁用断言 57
3.7 复习题 58
3.8 上机实践 62
第4章 数值类型 64
4.1 int类型(任意精度整数) 64
4.1.1 整型常量 64
4.1.2 int对象 65
4.1.3 数制转换函数 65
4.1.4 整数的运算 65
4.2 float类型(有限精度浮点数) 65
4.2.1 浮点类型常量 66
4.2.2 float对象 66
4.2.3 浮点数的运算 66
4.3 Decimal类型(高精度浮点数) 67
4.3.1 浮点数运算误差 67
4.3.2 Decimal对象 67
4.3.3 Context对象 68
4.3.4 高精度浮点数的运算 71
4.4 Fraction类型(分数) 71
4.4.1 Fraction对象 71
4.4.2 分数的运算 72
4.5 complex类型(复数) 72
4.5.1 复数类型常量 72
4.5.2 创建complex对象 72
4.5.3 complex类型的方法 73
4.5.4 复数的运算 73
4.6 算术运算符和位运算符 73
4.6.1 算术运算符 73
4.6.2 位运算符 74
4.6.3 混合运算和数值类型转换 74
4.6.4 内置标准数学函数 75
4.7 mathh模块和数学函数 75
4.8 cmath模块和复数数学函数 78
4.9 random模块和随机函数 79
4.9.1 种子和随机状态 80
4.9.2 随机整数 80
4.9.3 随机系列 81
4.9.4 随机实值分布 82
4.10 相关模块 82
4.10.1 标准库中的相关模块 82
4.10.2 数值运算模块NumPy 83
4.10.3 科学计算模块SciPy 83
4.11 复习题 83
4.12 上机实践 84
第5章 系列:元组、列表和字符串 89
5.1 系列的基本操作 89
5.1.1 系列的索引访问操作 89
5.1.2 系列的切片操作 90
5.1.3 系列的连接和重复操作 91
5.1.4 系列的成员关系操作 91
5.1.5 系列的比较运算操作 92
5.1.6 系列的排序操作 92
5.1.7 系列长度、最大值、最小值、求和 93
5.1.8 内置函数all()和any() 93
5.1.9 系列拆封 93
5.2 元组 94
5.2.1 元组的定义 94
5.2.2 元组的基本操作 95
5.3 列表 95
5.3.1 列表的定义 95
5.3.2 列表的基本操作 95
5.3.3 list对象的方法 96
5.3.4 列表解析表达式 96
5.3.5 列表作为队列和栈 97
5.4 字符串 97
5.4.1 Unicode和字符常量 97
5.4.2 字符串常量 98
5.4.3 创建str对象 99
5.4.4 字符串的基本操作 99
5.4.5 str对象的方法 99
5.4.6 字符串编码 102
5.4.7 字符串格式化 103
5.5 字节系列 105
5.5.1 bytes常量 105
5.5.2 创建bytes对象 106
5.5.3 创建bytearrary对象 106
5.5.4 bytes和bytearrary的基本操作 107
5.6 复习题 107
5.7 上机实践 110
第6章 字典和集合类型 112
6.1 字典 112
6.1.1 对象的hash值 112
6.1.2 字典的定义 112
6.1.3 字典的访问操作 113
6.1.4 字典的视图对象 113
6.1.5 判断字典键是否存在 113
6.1.6 字典对象的长度和比较 114
6.1.7 字典对象的方法 114
6.2 集合 115
6.2.1 集合的定义 115
6.2.2 判断集合元素是否存在 115
6.2.3 集合的运算:并集、交集、差集和对称差集 116
6.2.4 集合的比较运算:相等、子集和超集 116
6.2.5 集合的长度、最大值、最小值、元素和 117
6.2.6 可变集合的方法 117
6.3 复习题 118
6.4 上机实践 119
第7章 文件和流I/O 121
7.1 文件和文件对象 121
7.1.1 文件和流概述 121
7.1.2 文件对象和open函数 121
7.1.3 with语句和上下文管理协议 122
7.2 文本文件的读取和写入 122
7.2.1 文本文件的写入 122
7.2.2 文本文件的读取 123
7.2.3 文本文件的编码 124
7.3 二进制文件的读取和写入 125
7.3.1 二进制文件的写入 125
7.3.2 二进制文件的读取 125
7.4 随机文件访问 126
7.5 CSV文件格式的读取和写入 127
7.5.1 csv.reader对象和csv文件的读取 127
7.5.2 csv.writer对象和csv文件的写入 128
7.5.3 csv.DictReader对象和csv文件的读取 128
7.5.4 csv.DictWriter对象和csv文件的写入 129
7.5.5 csv文件格式化参数和Dialect对象 130
7.6 os模块和文件访问 131
7.6.1 文件描述符 131
7.6.2 使用os模块提供的函数访问文件 131
7.7 对象系列化 132
7.7.1 对象系列化 132
7.7.2 pickle模块和对象系列化 132
7.8 输入重定向和管道 133
7.8.1 FileInput对象 133
7.8.2 fileinput模块的函数 134
7.8.3 输入重定向 135
7.9 复习题 136
7.10 上机实践 136
第8章 函数与函数编程 137
8.1 函数的声明和调用 137
8.2 参数的传递 138
8.2.1 形式参数和实际参数 138
8.2.2 可选参数 138
8.2.3 位置参数和命名参数 139
8.2.4 可变参数(VarArgs) 140
8.2.5 强制命名参数(Keyword-only) 140
8.3 函数的返回值 141
8.4 变量的作用域 142
8.4.1 全局变量 142
8.4.2 局部变量 142
8.4.3 类成员变量 142
8.4.4 全局语句global 142
8.4.5 非局部语句nonlocal 143
8.5 函数装饰器 144
8.5.1 装饰器的声明和使用 144
8.5.2 @functools.wraps装饰器 146
8.5.3 functools.update-wrapper函数 146
8.6 递归函数 147
8.7 作为对象的函数 148
8.8 Lambda表达式和匿名函数 148
8.9 operator模块和运算符函数 149
8.10 eval、exec和compile函数 149
8.10.1 运行上下文的局部变量和全局变量 149
8.10.2 eval函数和动态表达式的求值 150
8.10.3 exec函数和动态语句的执行 150
8.10.4 compile函数和动态语句的执行 150
8.11 functools模块和函数工具 150
8.11.1 partial对象 151
8.11.2 reduce函数 151
8.11.3 @functools.lru_cache装饰器 151
8.1 2复习题 152
8.13 上机实践 153
第9章 类和对象 155
9.1 面向对象概念 155
9.1.1 对象的定义 155
9.1.2 封装 155
9.1.3 继承 156
9.1.4 多态性 156
9.2 类和对象 156
9.2.1 类的声明 157
9.2.2 对象的创建和使用 157
9.3 属性 157
9.3.1 实例属性和类属性 158
9.3.2 私有属性和公有属性 160
9.3.3 @property装饰器 160
9.3.4 特殊属性(Special Attributes) 161
9.3.5 自定义属性(Custom Attributes) 162
9.4 方法 163
9.4.1 方法的声明和调用 163
9.4.2 _init_方法(构造函数)和_new_方法 164
9.4.3 _del_方法(析构函数) 164
9.4.4 实例方法、类方法(@classmethod)与静态方法(@staticmethod) 165
9.4.5 私有方法与公有方法 166
9.4.6 方法重载 167
9.4.7 运算符重载 168
9.4.8 @functools.total_ordering装饰器 169
9.4.9 特殊方法(Special Method) 170
9.4.10 _call_方法和可调用对象(callabe) 170
9.5 继承 171
9.5.1 派生类 171
9.5.2 类成员的继承和重写 172
9.6 对象的引用、浅拷贝和深拷贝 173
9.6.1 对象的引用 173
9.6.2 对象的浅拷贝 173
9.6.3 对象的深拷贝 174
9.7 复习题 174
9.8 上机实践 175
第10章 模块和包 177
10.1 模块的导入和使用 177
10.1.1 import语句 177
10.1.2 from…import语句 177
10.1.3 _import_()内置函数 178
10.1.4 模块搜索路径sys.path 178
10.1.5 dir()内置函数 178
10.2 模块的定义 179
10.2.1 创建模块 179
10.2.2 模块的名称 180
10.2.3 按字节编译的.pyc文件 181
10.3 包的定义 181
10.3.1 包的概念 181
10.3.2 创建包 182
10.3.3 包的导入和使用 182
10.4 命令行参数 182
10.4.1 sys.argv与命令行参数 182
10.4.2 argparse和命令行选项参数解析 183
10.5 终止程序运行时返回消息 185
10.6 复习题 185
10.7 上机实践 186
第11章 迭代器和生成器 187
11.1 迭代和可迭代对象 187
11.1.1 可迭代对象、迭代器和可迭代协议 187
11.1.2 可迭代对象的迭代:iter和next函数 188
11.1.3 可迭代对象的迭代:for语句 188
11.2 自定义可迭代对象和迭代器 189
11.3 生成器函数 189
11.4 反向迭代:reversed迭代器 190
11.5 生成器表达式 191
11.6 Python内置的可迭代对象 191
11.6.1 range可迭代对象 191
11.6.2 map迭代器和itertools.starmap迭代器 191
11.6.3 filter迭代器和itertools.filterfalse迭代器 192
11.6.4 zip迭代器和zip_longest迭代器 192
11.6.5 enumerate迭代器 193
11.7 itertools模块和迭代器函数 193
11.7.1 无穷系列迭代器 193
11.7.2 累计迭代器accumulate 194
11.7.3 级联迭代器chain 194
11.7.4 选择压缩迭代器compress 194
11.7.5 截取迭代器dropwhile和takewhile 194
11.7.6 切片迭代器islice 195
11.7.7 迭代器groupby 195
11.7.8 返回多个迭代器tee 195
11.7.9 组合迭代器combinations、combinations_with_replacement 195
11.7.1 0排列迭代器permutations 196
11.7.1 1笛卡儿积迭代器product 196
11.8 复习题 196
11.9 上机实践 198
第12章 数据结构和算法 200
12.1 ABC模块 200
12.1.1 collections.abc模块和抽象基类 200
12.1.2 collections.abc模块中的抽象基类 200
12.2 collections模块和容器类型 202
12.2.1 ChainMap对象 202
12.2.2 Counter对象 203
12.2.3 deque对象 203
12.2.4 defaultdict对象 205
12.2.5 OrderedDict对象 205
12.2.6 namedtuple对象 206
12.2.7 UserDict、UserList和UserString对象 207
12.3 array.array对象 207
12.3.1 array的定义 207
12.3.2 array对象的基本操作 208
12.3.3 array对象的方法 208
12.4 heapq模块和堆队列算法 209
12.4.1 堆(Heap)的基本概念 209
12.4.2 堆的基本操作 210
12.4.3 heapq模块中基于heap的通用函数 210
12.5 bisect模块和二分排序算法 211
12.6 复习题 211
12.7 上机实践 213
第13章 日期和时间处理 214
13.1 日期和时间处理概述 214
13.1.1 相关模块 214
13.1.2 相关术语 214
13.2 time模块 215
13.2.1 struct time对象 215
13.2.2 time模块中的常用函数 215
13.2.3 日期格式化字符串 216
13.3 datetime模块 217
13.3.1 date对象 218
13.3.2 tzinfo对象和timezone对象 219
13.3.3 time对象 220
13.3.4 datetime对象 220
13.3.5 timedelta对象 222
13.3.6 日期和时间的运算与比较 223
13.4 calendar模块 223
13.4.1 Calendar对象 223
13.4.2 TextCalendar对象和LocaleTextCalendar对象 224
13.4.3 HTMLCalendar对象和LocaleHTMLCalendar对象 225
13.4.4 calendar模块的属性和常用函数 226
13.5 复习题 227
13.6 上机实践 228
第14章 正则表达式 230
14.1 正则表达式语言 230
14.1.1 正则表达式语言概述 230
14.1.2 正则表达式引擎 230
14.1.3 普通字符和转义字符 231
14.1.4 字符类和预定义字符类 231
14.1.5 边界匹配符 232
14.1.6 重复限定符 232
14.1.7 匹配算法:贪婪和懒惰 233
14.1.8 选择分支 234
14.1.9 分组和向后引用 234
14.1.10 正则表达式的匹配模式 236
14.1.11 常用正则表达式 236
14.2 正则表达式模块re 236
14.2.1 匹配和搜索函数 236
14.2.2 匹配选项 237
14.2.3 正则表达式对象 237
14.2.4 匹配对象 238
14.2.5 匹配和替换 238
14.2.6 分割字符串 238
14.3 正则表达式应用举例 239
14.3.1 字符串包含验证 239
14.3.2 字符串查找和拆分 239
14.3.3 字符串替换和清除 240
14.3.4 字符串查找和截取 240
14.4 复习题 241
14.5 上机实践 242
第15章 多线程编程 243
15.1 线程处理概述 243
15.1.1 进程和线程 243
15.1.2 线程的优缺点 243
15.2 创建和启动多线 244
15.2.1 使用start_new_thread函数创建线程 244
15.2.2 使用Thread对象创建线程 244
15.2.3 自定义派生于Thread的对象 245
15.2.4 线程加入join() 246
15.2.5 用户线程和daemon线程 247
15.3 线程同步 248
15.3.1 线程同步处理 248
15.3.2 基于原语锁(Lock/RLock对象)的简单同步 248
15.3.3 基于条件变量(Condition对象)的同步和通信 250
15.4 复习题 253
15.5 上机实践 253
第16章 图形用户界面应用程序 254
16.1 图形用户界面概述 254
16.1.1 tkinter 254
16.1.2 其他GUI库简介 254
16.2 tkinter概述 255
16.2.1 tkinter模块 255
16.2.2 图形用户界面构成 255
16.2.3 框架和GUI应用程序类 256
16.2.4 tkinter主窗口 257
16.3 几何布局管理器 257
16.3.1 pack几何布局管理器 258
16.3.2 grid几何布局管理器 259
16.3.3 place几何布局管理器 260
16.4 事件处理 261
16.4.1 事件类型 261
16.4.2 事件绑定 262
16.4.3 事件处理函数 263
16.5 组件概述 264
16.5.1 创建组件和设置属性 264
16.5.2 坐标系 265
16.5.3 大小单位(width和height) 265
16.5.4 颜色(background、foreground等) 265
16.5.5 字体(font) 266
16.5.6 停靠位置(anchor) 266
16.5.7 光标(cursor) 267
16.5.8 显示文本(text、textvariable、wraplength和justify) 267
16.5.9 位图(bitmap) 267
16.5.10 图像(image) 268
16.5.11 同时显示文本和位图/图像(compound) 268
16.5.12 3D显示样式(relief和overrelief) 269
16.5.13 设置组件的边框(borderwidth) 269
16.5.14 设置组件的填充(padx和pady) 269
16.5.15 组件的状态(state) 269
16.5.16 启用和禁用输入法 269
16.5.17 设置字符下划线位置(underline) 269
16.5.18 焦点(highlightbackground、highlightcolor等) 270
16.5.19 组件的数据绑定(textvariable、variable和listvariable) 270
16.5.20 组件id和名称 270
16.5.21 组件的通用方法 270
16.6 常用组件 271
16.6.1 标签Label 271
16.6.2 标签框架LabelFrame 271
16.6.3 按钮Button 272
16.6.4 消息Message 273
16.6.5 单行文本框Entry 274
16.6.6 多行文本框Text 275
16.6.7 单选按钮Radiobutton 277
16.6.8 复选框Checkbutton 278
16.6.9 列表框Listbox 280
16.6.10 选择项OptionMenu 282
16.6.11 移动滑块Scale 283
16.6.12 顶层窗口Toplevel 285
16.6.13 ttk子模块控件 286
16.7 对话框 286
16.7.1 通用消息对话框 286
16.7.2 文件对话框 288
16.7.3 颜色选择对话框 289
16.7.4 通用对话框应用举例 290
16.7.5 简单对话框 292
16.8 菜单和工具栏 293
16.8.1 菜单组件Menu 293
16.8.2 创建主菜单 294
16.8.3 创建上下文菜单 295
16.8.4 菜单应用举例 296
16.9 图形绘制 299
16.9.1 Canvas组件 299
16.9.2 Canvas上的对象 299
16.9.3 绘制矩形 301
16.9.4 绘制选项 302
16.9.5 绘制椭圆 305
16.9.6 绘制圆弧 305
16.9.7 绘制线条 306
16.9.8 绘制多边形 307
16.9.9 绘制位图 307
16.9.10 绘制图像 308
16.9.11 绘制字符串 308
16.9.12 绘制组件 309
16.10 复习题 310
16.11 上机实践 311
第17章 数据库访问 313
17.1 数据库基础 313
17.1.1 数据库概念 313
17.1.2 关系数据库 313
17.2 Python数据库访问模块 314
17.2.1 通用数据库访问模块 314
17.2.2 专用数据库访问模块 315
17.2.3 SQLite数据库和sqlite3模块 315
17.3 使用sqlite3模块连接和操作SQLite数据库 316
17.3.1 访问数据库的典型步骤 316
17.3.2 创建数据库和表 318
17.3.3 数据库表的插入、更新和删除操作 318
17.3.4 数据库表的查询操作 319
17.4 复习题 319
17.5 上机实践 319
第18章 网络编程和通信 320
18.1 网络编程的基本概念 320
18.1.1 网络基础知识 320
18.1.2 TCP/IP协议简介 321
18.1.3 IP地址和域名 322
18.1.4 统一资源定位器URL 322
18.2 基于socket模块的网络编程 323
18.2.1 socket概述 323
18.2.2 创建socket对象 324
18.2.3 将服务器端socket绑定到指定地址上 325
18.2.4 服务器端socket开始侦听 325
18.2.5 连接和接收连接 326
18.2.6 发送和接收数据 326
18.2.7 简单TCP程序:Echo Server 326
18.2.8 简单UDP程序:Echo Server 327
18.2.9 UDP程序:Quote Server 329
18.3 基于urllib模块的网络编程 330
18.3.1 打开和读取URL网络资源 330
18.3.2 创建Request对象 330
18.4 基于http模块的网络编程 331
18.5 基于ftplib模块的网络编程 331
18.5.1 创建FTP对象 331
18.5.2 创建FTP_TLS对象 333
18.6 基于poplib和smtplib模块的网络编程 333
18.6.1 使用poplib接收邮件 333
18.6.2 使用smtplib发送邮件 334
18.7 复习题 335
18.8 上机实践 336
第19章 系统管理 337
19.1 目录、文件和磁盘的基本操作 337
19.1.1 创建目录 337
19.1.2 临时目录和文件的创建 337
19.1.3 切换当前工作目录 338
19.1.4 目录内容列表 338
19.1.5 文件通配符和glob.glob函数 338
19.1.6 遍历目录和os.walk函数 338
19.1.7 判断文件/目录是否存在 339
19.1.8 测试文件类型 339
19.1.9 文件的日期及其大小 339
19.1.10 文件和目录的删除 340
19.1.11 文件和目录复制、重命名和移动 340
19.1.12 磁盘的基本操作 340
19.2 执行操作系统命令和运行其他程序 341
19.2.1 os.system函数 341
19.2.2 os.popen函数 341
19.2.3 subprocess模块 341
19.3 获取终端的大小 342
19.4 文件压缩和解压缩 343
19.4.1 shutil模块支持的压缩和解压缩格式 343
19.4.2 make_archive()和文件压缩 343
19.4.3 unpack_archive()函数和文件解压缩 343
19.5 configparser模块和配置文件 344
19.5.1 INI文件及INI文件格式 344
19.5.2 ConfigParser对象和INI文件操作 344
19.6 复习题 346
19.7 上机实践 347
附录A 参考答案 348
参考文献 358