- 中国铁道出版社
- 9787113285432
- 1版
- 455272
- 48256968-8
- 16开
- 2022-01
- 260
- 计算机类
- 本科 高职
内容简介
本书围绕Python的开发环境,采用理论与实际案例相结合的方式,系统讲解了学习
Python语言的关键知识点。全书共分15章,内容包括:Python环境的搭建,基本的数据类型,
列表、元组和字典,结构化程序设计的控制语句,函数,面向对象程序设计,模块与包的使用,
文件操作,异常处理,数据库编程,网络编程,tkinterGUI编程,多线程编程,数据分析与可
视化,Python应用案例。本书思路清晰、循序渐进,以大量实例为依托,对各知识点提供了全面、
细致的讲解。
本书适合作为高等学校Python程序设计课程的教材,也可作为对Python感兴趣的编程爱好者的自学参考书。
Python语言的关键知识点。全书共分15章,内容包括:Python环境的搭建,基本的数据类型,
列表、元组和字典,结构化程序设计的控制语句,函数,面向对象程序设计,模块与包的使用,
文件操作,异常处理,数据库编程,网络编程,tkinterGUI编程,多线程编程,数据分析与可
视化,Python应用案例。本书思路清晰、循序渐进,以大量实例为依托,对各知识点提供了全面、
细致的讲解。
本书适合作为高等学校Python程序设计课程的教材,也可作为对Python感兴趣的编程爱好者的自学参考书。
目录
第 1章 环境搭建 ................................... 1
1.1 认识 Python ..........................................1
1.1.1 Python 简史 ..................................1
1.1.2 Python语言的特点 ......................1
1.2 Python的安装 ......................................2
1.3 Python交互式解释器 ..........................6
1.4 Python程序开发过程 ..........................7
小结 ...............................................................8
习题 ...............................................................8
第 2章 数据类型 ................................... 9
2.1 变量和数据类型 ..................................9
2.1.1 变量和赋值 ..................................9
2.1.2 整型 ............................................10
2.1.3 浮点型 ........................................10
2.1.4 复数类型 ....................................11
2.2 关键字 ................................................11
2.3 字符串 ................................................12
2.3.1 字符串和转义字符 ....................12
2.3.2 深入使用字符串 ........................14
2.4 运算符 ................................................16
2.4.1 算术运算符 ................................16
2.4.2 赋值运算符 ................................17
2.4.3 位运算符 ....................................19
2.4.4 关系运算符 ................................19
2.4.5 逻辑运算符 ................................20
2.4.6 运算符的优先级 ........................21
小结 .............................................................21
习题 .............................................................22
第 3章 列表、元组和字典 .................. 23
3.1 列表 ....................................................23
目 录
3.1.1 列表创建与删除 ........................23
3.1.2 访问列表元素 ............................24
3.1.3 增加列表元素 ............................25
3.1.4 查找列表中的元素 ....................26
3.1.5 删除列表元素 ............................28
3.1.6 修改列表元素 ............................29
3.1.7 列表的运算 ................................29
3.1.8 常用方法 ....................................30
3.2 元组 ....................................................30
3.2.1 创建元组 ....................................30
3.2.2 元组的基本操作 ........................31
3.3 字典 ....................................................32
3.3.1 字典的创建与删除 ....................32
3.3.2 字典元素的访问与修改 ............33
3.3.3 字典元素的运算符操作 ............34
3.3.4 删除字典元素 ............................34
3.3.5 字典的复制和更新 ....................35
3.3.6 字典的遍历 ................................37
3.4 集合 ....................................................37
3.4.1 集合的创建 ................................37
3.4.2 集合的访问与修改 ....................38
3.4.3 集合的删除 ................................39
3.4.4 集合的运算符操作 ....................40
小结 .............................................................40
习题 .............................................................41
第 4章 控制语句 ................................. 43
4.1 条件语句 ............................................43
4.1.1 if语句 .........................................43
4.1.2 if...else语句 ................................43
4.1.3 多 if嵌套语句 ............................44
4.2 循环语句 ............................................45
4.2.1 for循环语句 ...............................45
4.2.2 for...else循环语句 ......................45
4.2.3 嵌套 for循环语句 ......................45
4.2.4 while循环语句 ...........................46
4.2.5 while...else循环语句 .................46
4.3 break和 continue语句 ......................47
4.3.1 break语句 ...................................47
4.3.2 continue语句 ..............................47
4.4 pass语句 ............................................48
小结 .............................................................48
习题 .............................................................48
第 5章 函数 ........................................ 51
5.1 函数的概念 ........................................51
5.2 函数的定义和调用 ............................52
5.3 函数的参数和参数传递 ....................55
5.3.1 函数的形参和实参 ....................55
5.3.2 位置参数 ....................................55
5.3.3 关键字参数 ................................56
5.3.4 默认值参数 ................................56
5.3.5 参数传递 ....................................57
5.4 变量的作用域 ....................................58
5.4.1 局部变量 ....................................59
5.4.2 全局变量 ....................................59
5.5 迭代器和生成器 ................................60
5.5.1 迭代器和生成器 ........................60
5.5.2 排序与 lambda ............................65
5.5.3 高阶函数 ....................................66
小结 .............................................................67
习题 .............................................................67
第 6章 面向对象程序设计 .................. 69
6.1 类和对象 ............................................69
6.1.1 类定义语法 ................................70
6.1.2 对象 ............................................70
6.1.3 self参数 ......................................71
6.1.4 实例变量 ....................................73
6.1.5 类变量 ........................................73
6.2 方法 ....................................................74
6.2.1 类方法 ........................................75
6.2.2 实例方法 ....................................76
6.2.3 静态方法 ....................................76
6.3 封装、继承与多态 ............................77
6.3.1 封装 ............................................77
6.3.2 继承 ............................................80
6.3.3 多态 ...........................................82
小结 .............................................................84
习题 .............................................................84
第 7章 模块与包 ................................. 86
7.1 命名空间 ............................................86
7.1.1 命名空间的分类 ........................86
7.1.2 命名空间的规则 ........................87
7.2 模块 ....................................................88
7.2.1 导入模块 ....................................89
7.2.2 导入与执行语句 ........................90
7.2.3 import和 from的使用 ...............91
7.2.4 重新载入模块 ............................93
7.2.5 嵌套导入模块 ............................93
7.2.6 模块对象属性和命令行参数 ....93
7.3 包 ........................................................95
小结 .............................................................96
习题 .............................................................97
第 8章 文件操作 ................................. 99
8.1 文件的路径 ........................................99
8.1.1 路径的概念 ................................99
8.1.2 绝对路径与相对路径 ..............100
8.2 文件的读写 ......................................100
8.2.1 文件的打开与关闭 ..................101
8.2.2 文件的读写 ..............................101
8.2.3 文件的定位 ..............................104
8.3 文件操作函数 ..................................105
8.3.1 文件操作相关函数 ..................105
8.3.2 文件系统常用操作 ..................106
8.4 二进制文件操作 ..............................106
8.4.1 使用 pickle模块 .......................106
8.4.2 使用 struct模块 ........................107
8.4.3 文件批量处理 ..........................108
小结 ...........................................................109
习题 ...........................................................109
第 9章 异常处理 ................................111
9.1 异常的概念 ......................................111
9.2 异常处理机制 ..................................113
9.2.1 try...except结构 ........................114
9.2.2 try...except...else结构 ...............115
9.2.3 多异常捕获 ..............................115
9.2.4 try...except....nally结构 ...........118
9.3 异常高级用法 ..................................119
9.3.1 强制触发异常(raise) ...........119
9.3.2 断言与上下文管理语句 ..........120
小结 ...........................................................121
习题 ...........................................................121
第 10章 数据库编程 ......................... 123
10.1 Python数据库 API ........................123
10.1.1 全局变量 ................................123
10.1.2 数据库异常 ............................124
10.1.3 连接和游标 ............................125
10.1.4 类型 ........................................126
10.2 轻型数据库与 MySQL ..................127
10.2.1 SQLite的使用 ........................127
10.2.2 MySQL的使用 ......................130
10.2.3 数据库应用程序示例 ............132
小结 ...........................................................134
习题 ...........................................................134
第 11章 网络编程 ............................. 136
11.1 网络模块 .......................................136
11.1.1 Socket模块 .............................136
11.1.2 urllib和 urllib2模块 ..............138
11.1.3 其他模块 .................................141
11.2 高级模块 SocketServer .................142
11.2.1 创建 SocketServer TCP服务器 ....................................143
11.2.2 创建 SocketServer TCP客户端 ....................................144
11.2.3 执行 TCP服务器和客户端 ......144小结 ...........................................................145习题 ...........................................................145
第 12章 tkinter GUI 编程.................. 146
12.1 tkinter编程基础 .............................146
12.1.1 第一个 tkinter GUI 程序 ........146
12.1.2 组件打包 ................................148
12.1.3 添加按钮和事件处理函数.........................................150
12.1.4 使用布局 ................................152
12.1.5 使用框架 ................................155
12.2 tkinter 组件 .....................................156
12.2.1 组件通用属性设置 ................156
12.2.2 输入组件(Entry) ................158
12.2.3 列表框组件(Listbox) ........161
12.2.4 复选框组件(Checkbutton) .....................163
12.2.5 标签框架(LabelFrame) .....164
12.2.6 文本框组件 (Text) ..................165
12.2.7 顶层窗口组件(Toplevel) .............................167
12.2.8 菜单组件(Menu) ...............168
12.2.9 对话框 ....................................170
小结 ...........................................................173
习题 ...........................................................173
第 13章 多线程编程 ......................... 175
13.1 线程与进程 ....................................175
13.1.1 线程 ........................................175
13.1.2 进程 ........................................175
13.1.3 多线程与多进程 ....................176
13.2 Python 多线程编程 ........................176
13.2.1 Python 多线程的特殊性 ........176
13.2.2 threading模块多线程编程 ....177
13.3 Python多进程编程 ........................189
13.3.1 Python多进程编程的特点 ....189
13.3.2 multiprocessing模块多进程编程.........................................189小结 ...........................................................198习题 ...........................................................198
第 14章 数据分析与可视化 .............. 200
14.1 NumPy基础科学计算库 ...............200
14.1.1 创建 NumPy 数组 ..................200
14.1.2 数组与数值的算术运算 ........201
14.1.3 数组与数组的算术运算 ........202
14.1.4 数组的关系运算 ....................202
14.1.5 分段函数 ................................203
14.1.6 数组元素访问 ........................203
14.1.7 数组切片操作 ........................203
14.1.8 改变数组形状 ........................204
14.1.9 二维数组转置 ........................205
14.1.10 向量内积 ..............................205
14.1.11 数组的函数运算 ...................205
14.1.12 对数组不同维度元素进行计算.......................................206
14.1.13 广播 ......................................207
14.1.14 计算数组中元素出现次数.......................................207
14.1.15 矩阵运算 ..............................208
14.2 SciPy科学计算扩展库 .................208
14.2.1 常数模块(constants) ..........209
14.2.2 特殊函数模块(special) .....210
14.2.3 多项式计算与符号计算 ........210
14.3 Matplotlib数值计算可视化库 ......212
14.3.1 绘制正弦曲线 ........................212
14.3.2 绘制散点图 ............................212
14.3.3 绘制饼图 ................................214
14.3.4 绘制带有中文标签和图例的图.........................................214
14.3.5 绘制带有公式的图 ................215
14.3.6 绘制三维参数曲线 ................216
14.3.7 绘制三维图形 ........................217
14.4 pandas数据分析库 .......................218
14.4.1 安装 pandas ............................218
14.4.2 pandas的数据结构 Series ......218
14.4.3 pandas的数据结构 DataFrame ...............................220小结 ...........................................................223习题 ...........................................................223
第 15章 Python应用案例 ................ 225
15.1 泰坦尼克号乘客生存分析 ............225
15.1.1 数据来源 ................................225
15.1.2 导入数据 ................................225
15.1.3 查看数据 ................................226
15.1.4 数据补全 ................................228
15.1.5 数据编码 ................................228
15.1.6 数据可视化 ...........................231
15.2 Python网络爬取 ............................236
15.2.1 BeautifulSoup库 ....................236
15.2.2 爬取搜狐体育新闻 ................241
15.3 手写识别系统 ................................244
15.3.1 K近邻算法原理 .....................244
15.3.2 KNN 算法实现 .......................245
15.3.3 KNN算法优缺点 ...................246
15.3.4 手写数字识别系统 ................247
小结 ...........................................................251
习题 ...........................................................251
参考文献 ............................................. 252
1.1 认识 Python ..........................................1
1.1.1 Python 简史 ..................................1
1.1.2 Python语言的特点 ......................1
1.2 Python的安装 ......................................2
1.3 Python交互式解释器 ..........................6
1.4 Python程序开发过程 ..........................7
小结 ...............................................................8
习题 ...............................................................8
第 2章 数据类型 ................................... 9
2.1 变量和数据类型 ..................................9
2.1.1 变量和赋值 ..................................9
2.1.2 整型 ............................................10
2.1.3 浮点型 ........................................10
2.1.4 复数类型 ....................................11
2.2 关键字 ................................................11
2.3 字符串 ................................................12
2.3.1 字符串和转义字符 ....................12
2.3.2 深入使用字符串 ........................14
2.4 运算符 ................................................16
2.4.1 算术运算符 ................................16
2.4.2 赋值运算符 ................................17
2.4.3 位运算符 ....................................19
2.4.4 关系运算符 ................................19
2.4.5 逻辑运算符 ................................20
2.4.6 运算符的优先级 ........................21
小结 .............................................................21
习题 .............................................................22
第 3章 列表、元组和字典 .................. 23
3.1 列表 ....................................................23
目 录
3.1.1 列表创建与删除 ........................23
3.1.2 访问列表元素 ............................24
3.1.3 增加列表元素 ............................25
3.1.4 查找列表中的元素 ....................26
3.1.5 删除列表元素 ............................28
3.1.6 修改列表元素 ............................29
3.1.7 列表的运算 ................................29
3.1.8 常用方法 ....................................30
3.2 元组 ....................................................30
3.2.1 创建元组 ....................................30
3.2.2 元组的基本操作 ........................31
3.3 字典 ....................................................32
3.3.1 字典的创建与删除 ....................32
3.3.2 字典元素的访问与修改 ............33
3.3.3 字典元素的运算符操作 ............34
3.3.4 删除字典元素 ............................34
3.3.5 字典的复制和更新 ....................35
3.3.6 字典的遍历 ................................37
3.4 集合 ....................................................37
3.4.1 集合的创建 ................................37
3.4.2 集合的访问与修改 ....................38
3.4.3 集合的删除 ................................39
3.4.4 集合的运算符操作 ....................40
小结 .............................................................40
习题 .............................................................41
第 4章 控制语句 ................................. 43
4.1 条件语句 ............................................43
4.1.1 if语句 .........................................43
4.1.2 if...else语句 ................................43
4.1.3 多 if嵌套语句 ............................44
4.2 循环语句 ............................................45
4.2.1 for循环语句 ...............................45
4.2.2 for...else循环语句 ......................45
4.2.3 嵌套 for循环语句 ......................45
4.2.4 while循环语句 ...........................46
4.2.5 while...else循环语句 .................46
4.3 break和 continue语句 ......................47
4.3.1 break语句 ...................................47
4.3.2 continue语句 ..............................47
4.4 pass语句 ............................................48
小结 .............................................................48
习题 .............................................................48
第 5章 函数 ........................................ 51
5.1 函数的概念 ........................................51
5.2 函数的定义和调用 ............................52
5.3 函数的参数和参数传递 ....................55
5.3.1 函数的形参和实参 ....................55
5.3.2 位置参数 ....................................55
5.3.3 关键字参数 ................................56
5.3.4 默认值参数 ................................56
5.3.5 参数传递 ....................................57
5.4 变量的作用域 ....................................58
5.4.1 局部变量 ....................................59
5.4.2 全局变量 ....................................59
5.5 迭代器和生成器 ................................60
5.5.1 迭代器和生成器 ........................60
5.5.2 排序与 lambda ............................65
5.5.3 高阶函数 ....................................66
小结 .............................................................67
习题 .............................................................67
第 6章 面向对象程序设计 .................. 69
6.1 类和对象 ............................................69
6.1.1 类定义语法 ................................70
6.1.2 对象 ............................................70
6.1.3 self参数 ......................................71
6.1.4 实例变量 ....................................73
6.1.5 类变量 ........................................73
6.2 方法 ....................................................74
6.2.1 类方法 ........................................75
6.2.2 实例方法 ....................................76
6.2.3 静态方法 ....................................76
6.3 封装、继承与多态 ............................77
6.3.1 封装 ............................................77
6.3.2 继承 ............................................80
6.3.3 多态 ...........................................82
小结 .............................................................84
习题 .............................................................84
第 7章 模块与包 ................................. 86
7.1 命名空间 ............................................86
7.1.1 命名空间的分类 ........................86
7.1.2 命名空间的规则 ........................87
7.2 模块 ....................................................88
7.2.1 导入模块 ....................................89
7.2.2 导入与执行语句 ........................90
7.2.3 import和 from的使用 ...............91
7.2.4 重新载入模块 ............................93
7.2.5 嵌套导入模块 ............................93
7.2.6 模块对象属性和命令行参数 ....93
7.3 包 ........................................................95
小结 .............................................................96
习题 .............................................................97
第 8章 文件操作 ................................. 99
8.1 文件的路径 ........................................99
8.1.1 路径的概念 ................................99
8.1.2 绝对路径与相对路径 ..............100
8.2 文件的读写 ......................................100
8.2.1 文件的打开与关闭 ..................101
8.2.2 文件的读写 ..............................101
8.2.3 文件的定位 ..............................104
8.3 文件操作函数 ..................................105
8.3.1 文件操作相关函数 ..................105
8.3.2 文件系统常用操作 ..................106
8.4 二进制文件操作 ..............................106
8.4.1 使用 pickle模块 .......................106
8.4.2 使用 struct模块 ........................107
8.4.3 文件批量处理 ..........................108
小结 ...........................................................109
习题 ...........................................................109
第 9章 异常处理 ................................111
9.1 异常的概念 ......................................111
9.2 异常处理机制 ..................................113
9.2.1 try...except结构 ........................114
9.2.2 try...except...else结构 ...............115
9.2.3 多异常捕获 ..............................115
9.2.4 try...except....nally结构 ...........118
9.3 异常高级用法 ..................................119
9.3.1 强制触发异常(raise) ...........119
9.3.2 断言与上下文管理语句 ..........120
小结 ...........................................................121
习题 ...........................................................121
第 10章 数据库编程 ......................... 123
10.1 Python数据库 API ........................123
10.1.1 全局变量 ................................123
10.1.2 数据库异常 ............................124
10.1.3 连接和游标 ............................125
10.1.4 类型 ........................................126
10.2 轻型数据库与 MySQL ..................127
10.2.1 SQLite的使用 ........................127
10.2.2 MySQL的使用 ......................130
10.2.3 数据库应用程序示例 ............132
小结 ...........................................................134
习题 ...........................................................134
第 11章 网络编程 ............................. 136
11.1 网络模块 .......................................136
11.1.1 Socket模块 .............................136
11.1.2 urllib和 urllib2模块 ..............138
11.1.3 其他模块 .................................141
11.2 高级模块 SocketServer .................142
11.2.1 创建 SocketServer TCP服务器 ....................................143
11.2.2 创建 SocketServer TCP客户端 ....................................144
11.2.3 执行 TCP服务器和客户端 ......144小结 ...........................................................145习题 ...........................................................145
第 12章 tkinter GUI 编程.................. 146
12.1 tkinter编程基础 .............................146
12.1.1 第一个 tkinter GUI 程序 ........146
12.1.2 组件打包 ................................148
12.1.3 添加按钮和事件处理函数.........................................150
12.1.4 使用布局 ................................152
12.1.5 使用框架 ................................155
12.2 tkinter 组件 .....................................156
12.2.1 组件通用属性设置 ................156
12.2.2 输入组件(Entry) ................158
12.2.3 列表框组件(Listbox) ........161
12.2.4 复选框组件(Checkbutton) .....................163
12.2.5 标签框架(LabelFrame) .....164
12.2.6 文本框组件 (Text) ..................165
12.2.7 顶层窗口组件(Toplevel) .............................167
12.2.8 菜单组件(Menu) ...............168
12.2.9 对话框 ....................................170
小结 ...........................................................173
习题 ...........................................................173
第 13章 多线程编程 ......................... 175
13.1 线程与进程 ....................................175
13.1.1 线程 ........................................175
13.1.2 进程 ........................................175
13.1.3 多线程与多进程 ....................176
13.2 Python 多线程编程 ........................176
13.2.1 Python 多线程的特殊性 ........176
13.2.2 threading模块多线程编程 ....177
13.3 Python多进程编程 ........................189
13.3.1 Python多进程编程的特点 ....189
13.3.2 multiprocessing模块多进程编程.........................................189小结 ...........................................................198习题 ...........................................................198
第 14章 数据分析与可视化 .............. 200
14.1 NumPy基础科学计算库 ...............200
14.1.1 创建 NumPy 数组 ..................200
14.1.2 数组与数值的算术运算 ........201
14.1.3 数组与数组的算术运算 ........202
14.1.4 数组的关系运算 ....................202
14.1.5 分段函数 ................................203
14.1.6 数组元素访问 ........................203
14.1.7 数组切片操作 ........................203
14.1.8 改变数组形状 ........................204
14.1.9 二维数组转置 ........................205
14.1.10 向量内积 ..............................205
14.1.11 数组的函数运算 ...................205
14.1.12 对数组不同维度元素进行计算.......................................206
14.1.13 广播 ......................................207
14.1.14 计算数组中元素出现次数.......................................207
14.1.15 矩阵运算 ..............................208
14.2 SciPy科学计算扩展库 .................208
14.2.1 常数模块(constants) ..........209
14.2.2 特殊函数模块(special) .....210
14.2.3 多项式计算与符号计算 ........210
14.3 Matplotlib数值计算可视化库 ......212
14.3.1 绘制正弦曲线 ........................212
14.3.2 绘制散点图 ............................212
14.3.3 绘制饼图 ................................214
14.3.4 绘制带有中文标签和图例的图.........................................214
14.3.5 绘制带有公式的图 ................215
14.3.6 绘制三维参数曲线 ................216
14.3.7 绘制三维图形 ........................217
14.4 pandas数据分析库 .......................218
14.4.1 安装 pandas ............................218
14.4.2 pandas的数据结构 Series ......218
14.4.3 pandas的数据结构 DataFrame ...............................220小结 ...........................................................223习题 ...........................................................223
第 15章 Python应用案例 ................ 225
15.1 泰坦尼克号乘客生存分析 ............225
15.1.1 数据来源 ................................225
15.1.2 导入数据 ................................225
15.1.3 查看数据 ................................226
15.1.4 数据补全 ................................228
15.1.5 数据编码 ................................228
15.1.6 数据可视化 ...........................231
15.2 Python网络爬取 ............................236
15.2.1 BeautifulSoup库 ....................236
15.2.2 爬取搜狐体育新闻 ................241
15.3 手写识别系统 ................................244
15.3.1 K近邻算法原理 .....................244
15.3.2 KNN 算法实现 .......................245
15.3.3 KNN算法优缺点 ...................246
15.3.4 手写数字识别系统 ................247
小结 ...........................................................251
习题 ...........................................................251
参考文献 ............................................. 252