第 一部分 Python 基础
第 1 章 Python 集成开发环境介绍 3
1.1 Python IDLE Shell 3
1.2 PyCharm 集成开发环境 4
第 2 章 通过 IDLE 学习基本的 Python操作 6
2.1 使用 Python IDLE 与计算机对话 6
2.2 计算机语言的精华:算法 7
2.3 计算器:数和计算表达式 8
2.4 变量:程序的最小单元 10
2.5 语句:程序的基本单元 11
2.6 获取用户输入:人工智能程序的眼睛 11
2.7 函数:功能 12
2.8 模块:仓库 13
2.9 字符串处理 14
2.10 Python 的可执行程序 19
2.11 Python 的程序注释 21
2.12 运行 Python 程序 22
2.13 小结 23
第3章 操作 Python 数据容器——序列和字典 25
3.1 序列 25
3.2 字典 34
3.3 小结 40
第 4 章 使用字符串 42
4.1 不可变的字符串 42
4.2 像 C 语言一样设置字符串的格式 42
4.3 模板法 43
4.4 format 方法 43
4.5 字符串方法 45
4.6 小结 47
第 5 章 语句 48
5.1 赋值语句 48
5.2 条件语句 50
5.3 循环语句 53
5.3.1 while 循环 54
5.3.2 for 循环 55
5.3.3 迭代字典 56
5.3.4 使用 break 语句、continue 语句跳出循环 56
5.3.5 循环后的 else 子句 57
5.3.6 循环嵌套 58
5.4 其他语句 58
5.4.1 pass 语句 58
5.4.2 del 语句 59
5.4.3 exec 语句(Python 2) 60
5.4.4 def 语句与 return 语句 61
5.5 小结 61
第 6 章 函数 63
6.1 复用性与逻辑性 63
6.2 自定义函数 63
6.3 函数的参数 66
6.4 作用域 68
6.5 函数的递归 69
6.6 小结 69
第 7 章 面向对象编程 70
7.1 对象 70
7.2 类 71
7.2.1 创建自定义类 71
7.2.2 类的名字空间 71
7.2.3 超类和继承 72
7.2.4 封装 73
7.3 小结 73
第 8 章 异常 75
8.1 异常定义 75
8.2 异常处理 75
8.2.1 raise 语句 75
8.2.2 自定义异常类 76
8.2.3 try-except 语句 76
8.2.4 finally 语句 78
8.3 if-else 语句与 try-except 语句的比较 79
8.4 告警 79
8.5 小结 80
第 9 章 特殊方法、特性、迭代器和生成器 81
9.1 构造函数 81
9.2 特性 82
9.2.1 property 关键字与 property函数 82
9.2.2 静态方法与类方法 84
9.2.3 __getattribute__、__getattr__、__setattr__、__dict__、__delattr__方法 86
9.3 迭代器 88
9.4 生成器 90
9.4.1 创建生成器 90
9.4.2 递归生成器 91
9.4.3 生成器的方法 92
9.5 小结 94
第 10 章 模块 96
10.1 模块的概念 96
10.2 模块中的定义 99
10.3 常用的标准库中的模块 101
10.3.1 time 101
10.3.2 random 103
10.3.3 sys 106
10.3.4 os 108
10.3.5 其他模块 113
10.4 小结 114
第 11 章 文件操作 115
11.1 打开文件 115
11.2 文件的基本操作 116
11.3 使用 fileinput 模块迭代文件 118
11.4 文件上下文管理器 120
11.5 小结 121
第 12 章 数据库操作 122
12.1 数据库的 Python 接口 122
12.2 对 SQLite 数据库的基本操作 123
12.2.1 创建数据库连接和关闭数据库连接 123
12.2.2 执行 SQL 语句 124
12.2.3 sqlite3 备份 129
12.3 小结 131
第 13 章 基于 NumPy 的线性代数 运算 132
13.1 下载并安装 NumPy 132
13.2 基础概念 133
13.2.1 数组的属性 133
13.2.2 生成 NumPy 数组 134
13.2.3 输出数组 136
13.2.4 数组基本运算 137
13.2.5 通用函数 138
13.2.6 索引、切片和迭代 138
13.3 数组变换 140
13.3.1 改变数组的形状 140
13.3.2 数组间的堆叠 141
13.3.3 数组切割 142
13.4 矩阵运算 142
13.5 小结 144
第二部分 Python 项目实践
第 14 章 使用 Matplotlib 绘图 147
14.1 下载并安装 Matplotlib、
SciPy 147
14.2 绘制简单 2D 图像 148
14.3 绘制复杂 2D 图像 155
14.4 绘制 3D 图像 159
14.5 小结 160
第 15 章 使用 OpenCV 处理图像——图像特征提取及匹配 161
15.1 下载并安装 opencv-python、opencv-contrib-python 和pyflann 161
15.2 图像特征提取 162
15.3 图像特征匹配 164
15.4 小结 169
第 16 章 使用 cvxpy 和 cvxopt 求解凸优化问题 170
16.1 下载并安装 cvxpy 和 cvxopt 170
16.2 求解线性规划问题 171
16.3 求解 L1 范数逼近问题 174
16.4 求解二次规划问题 175
16.5 小结 177
第 17 章 使用 Pygame 实现外星人入侵游戏 178
17.1 下载并安装 Pygame 178
17.2 Pygame 的使用方法 180
17.3 外星人入侵游戏项目设计与开发 200
17.3.1 游戏的初始设置 200
17.3.2 创建玩家飞船类 Ship 201
17.3.3 创建子弹类 Bullet 202
17.3.4 创建外星人飞船类 Alien 203
17.3.5 创建游戏统计信息类GameStates 204
17.3.6 创建按钮类 Button 204
17.3.7 创建游戏功能函数 205
17.3.8 创建游戏入口 209
17.4 小结 210
第 18 章 使用 Django 框架快速创建用户信息管理系统 211
18.1 Django 框架简介与环境部署 211
18.2 Django 框架的基本使用方法 212
18.2.1 创建一个 Django 项目 212
18.2.2 Django 框架的基本配置 212
18.2.3 创建 Django 应用 215
18.2.4 定义视图 215
18.3 基于 Django 和 MySQL 创建一个用户信息管理系统 216
18.3.1 创建数据库和数据表 216
18.3.2 创建项目和应用 216
18.3.3 添加 demo 项目的数据库连接配置和基本配置 217
18.3.4 定义模型 218
18.3.5 实现 Web 端访问 219
18.3.6 编辑模板文件 220
18.3.7 设置视图 223
18.3.8 测试 224
18.4 小结 226
第 19 章 网络爬虫基础 227
19.1 网络爬虫技术基础 227
19.2 爬虫环境搭建 228
19.3 源码采集 230
19.3.1 使用 urllib 采集源码 230
19.3.2 使用 Requests 采集源码 232
19.3.3 使用 Selenium 采集源码 233
19.4 数据解析 234
19.4.1 使用 bs4 解析数据 234
19.4.2 使用 lxml 解析数据 238
19.5 小结 239
第 20 章 天气预测 241
20.1 下载并安装 sklearn 241
20.2 天气预测问题 243
20.3 回归模型 244
20.3.1 线性回归 244
20.3.2 决策树回归 251
20.3.3 随机森林回归 255
20.3.4 神经网络回归 257
20.4 小结 260
第 21 章 红酒产地分类 261
21.1 数据集 261
21.2 分类器评价指标 263
21.3 分类器 265
21.3.1 支持向量机 265
21.3.2 最近邻 268
21.3.3 朴素贝叶斯 271
21.3.4 投票分类器 273
21.4 小结 275
第 22 章 银行客户分析 276
22.1 数据集 276
22.2 聚类模型评估指标 278
22.2.1 兰德指数 278
22.2.2 互信息评分 279
22.2.3 同质性、完整性及 V 测度 280
22.2.4 FM 指数 281
22.2.5 轮廓系数 281
22.2.6 CH 指数 282
22.2.7 DB 指数 282
22.3 聚类模型 282
22.3.1 K 均值聚类 282
22.3.2 DBSCAN 聚类 287
22.3.3 谱聚类 289
22.3.4 层次聚类 290
22.4 小结 293
附录 1 部分X11/CSS4 颜色代码目录 294
附录 2 互信息评分计算示例 296
附录 3 同质性、完整性及 V 测度数值计算示例 298
参考资料 300
展开