部分 基础篇
章 认识Python 3
1.1 初识Python 3
1.1.1 编程语言概述 3
1.1.2 Python常用解释器 5
1.1.3 Python语言特点 5
1.2 Python的安装 6
1.2.1 Windows环境中Python的安装 6
1.2.2 Linux环境中Python的安装 9
1.2.3 Mac OS环境中Python的安装 11
1.3 Python代码的执行 13
1.3.1 在交互模式下执行Python代码 13
1.3.2 在脚本模式下执行Python代码 15
1.4 Python集成开发环境 15
1.4.1 PyCharm的安装 16
1.4.2 PyCharm的使用 18
1.4.3 PyCharm的插件 20
1.5 Python 2.x与Python 3.x的区别 22
1.6 本章小结 23
第2章 Python语法基础 24
2.1 数据类型 24
2.1.1 整数类型 25
2.1.2 浮点型(float) 27
2.1.3 复数(complex) 27
2.1.4 布尔型(Bool) 28
2.1.5 数值运算 29
2.1.6 数值计算函数库 31
2.1.7 type函数的应用 32
2.2 标识符 32
2.2.1 标识符的含义 33
2.2.2 标识符的命名 33
2.2.3 Python关键字 33
2.2.4 Python的BIF 34
2.2.5 专有标识符 34
2.3 变量的作用域 35
2.3.1 Python作用域类型 35
2.3.2 赋值操作符 41
2.3.3 增量赋值 41
2.3.4 多元赋值 42
2.4 语法规则 42
2.4.1 注释 42
2.4.2 代码组与代码块 43
2.4.3 同行书写多条语句 43
2.4.4 空行与缩进 44
2.5 I/O操作 44
2.5.1 输出操作 44
2.5.2 输入操作 46
2.6 Python模块 47
2.6.1 模块的分类 47
2.6.2 使用pip管理Python扩展库 47
2.6.3 模块的导入和使用 48
2.6.4 模块的导入顺序 48
2.7 Python对象 48
2.8 本章小结 50
第3章 流程控制语句 51
3.1 条件语句 51
3.1.1 条件表达式 51
3.1.2 单分支选择结构 53
3.1.3 双分支选择结构 53
3.1.4 多分支选择结构 54
3.1.5 选择结构的嵌套 55
3.1.6 三元表达式 56
3.2 循环语句 57
3.2.1 while循环 57
3.2.2 while…else循环 59
3.2.3 for循环 60
3.2.3 for…else循环 63
3.3 循环控制语句 64
3.3.1 break语句 64
3.3.2 continue语句 65
3.3.3 pass语句 65
3.4 迭代器 66
3.4.1 可迭代对象 66
3.4.2 迭代器的定义 66
3.4.3 创建迭代器 67
3.5 生成器 68
3.5.1 生成器的定义 69
3.5.2 生成器的创建 69
3.6 与条件循环相关的内置函数 72
3.6.1 range函数 73
3.6.2 enumerate函数 73
3.6.3 reversed函数 74
3.6.4 zip函数 75
3.6.5 *zip函数 76
3.6.6 sorted函数 76
3.7 本章小结 76
第4章 复合数据类型 77
4.1 列表 77
4.1.1 列表的创建 77
4.1.2 基本操作 78
4.1.3 多维列表 80
4.1.4 迭代器 81
4.1.5 列表解析 82
4.1.6 列表函数和方法 82
4.2 元组 83
4.2.1 元组的创建 83
4.2.2 基本操作 84
4.2.3 元组函数和方法 86
4.2.4 元组的优势 87
4.3 字典 88
4.3.1 字典的创建 88
4.3.2 基本操作 88
4.3.3 字典的嵌套 90
4.3.4 字典的遍历 90
4.3.5 字典函数和方法 90
4.4 集合 91
4.4.1 集合的创建 91
4.4.2 集合的数学运算 92
4.4.3 基本操作 93
4.4.4 不可变集合 94
4.4.5 集合函数和方法 95
4.5 类型转换和格式化输出 96
4.5.1 类型转换 96
4.5.2 格式化输出 97
4.6 本章小结 99
第5章 字符串和正则表达式 100
5.1 字符串表示 100
5.1.1 单/双引号 100
5.1.2 三重引号 101
5.1.3 转义字符 102
5.1.4 raw字符串 103
5.2 字符串操作 104
5.2.1 索引和分片 104
5.2.2 连接字符串 105
5.2.3 修改字符串 106
5.2.4 其他操作 107
5.3 字符串格式化 108
5.3.1 符号格式化 109
5.3.2 函数格式化 110
5.3.3 字典格式化 111
5.4 正则表达式 112
5.4.1 概述 112
5.4.2 语法规则 112
5.4.3 re模块 114
5.5 本章小结 120
第6章 函数和函数式编程 121
6.1 函数定义 121
6.1.1 函数概述 121
6.1.2 函数定义 122
6.1.3 形参和实参 124
6.1.4 函数的返回值 125
6.2 函数分类 126
6.2.1 内建函数 126
6.2.2 自定义函数 128
6.3 函数参数 129
6.3.1 参数种类 129
6.3.2 位置参数 130
6.3.3 默认参数 132
6.3.4 不定长参数 135
6.3.5 关键字参数 136
6.3.6 命名关键字参数 138
6.3.7 参数组合 139
6.4 函数式编程 140
6.4.1 高阶函数 140
6.4.2 匿名函数 141
6.5 本章小结 141
第7章 Python面向对象编程 142
7.1 面向对象编程概述 142
7.1.1 OOP的产生 142
7.1.2 OOP核心思想 143
7.1.3 OOP特征 144
7.2 类和对象 144
7.2.1 类的创建 144
7.2.2 对象的创建 146
7.2.3 类的属性 146
7.2.4 类的方法 149
7.2.5 内部类 151
7.2.6 魔术方法 151
7.3 类间关系 155
7.3.1 依赖关系 155
7.3.2 关联关系 156
7.3.3 继承关系 157
7.4 本章小结 159
第8章 文件操作 160
8.1 文件对象 160
8.1.1 打开文件 160
8.1.2 关闭文件 162
8.1.3 文件对象的属性 163
8.1.4 文件对象的方法 163
8.2 文件系统访问 167
8.2.1 os模块 168
8.2.2 文件路径操作 170
8.3 文件数据处理 171
8.3.1 按字节处理数据 171
8.3.2 使用文件迭代器 172
8.3.3 结构化数据存储 172
8.3.4 序列化存储 173
8.4 综合案例 174
8.5 本章小结 176
第9章 错误与异常 177
9.1 基本概念 177
9.1.1 什么是错误 177
9.1.2 什么是异常 178
9.2 Python中的异常 179
9.2.1 内置异常 180
9.2.2 用户自定义异常 183
9.3 Python中异常的检测与处理 183
9.3.1 try-except 184
9.3.2 try-except-else 186
9.3.3 try-finally 187
9.3.4 try-except-else-finally 188
9.3.5 强制触发异常raise 190
9.3.6 断言机制assert 191
9.3.7 预定义的清理行为with 192
9.4 本章小结 192
第二部分 进阶篇
0章 Python虚拟环境 195
10.1 初识Anaconda 195
10.2 安装Anaconda 196
10.2.1 Windows环境下的Anaconda安装 196
10.2.2 macOS环境下的Anaconda安装 198
10.2.3 Linux环境下的Anaconda安装 202
10.3 conda管理工具 204
10.3.1 包管理 204
10.3.2 环境管理 207
10.4 本章小结 209
1章 科学计算库NumPy 210
11.1 初识NumPy 210
11.1.1 NumPy的特点 210
11.1.2 安装NumPy 211
11.1.3 NumPy简单实例 212
11.2 NumPy数组基础 213
11.2.1 数据类型 213
11.2.2 创建数组 215
11.2.3 数组属性 217
11.2.4 数组操作 218
11.3 NumPy矩阵基础 223
11.3.1 NumPy多维数组 223
11.3.2 NumPy矩阵对象 225
11.4 NumPy方法进阶 226
11.4.1 常用文件方法 226
11.4.2 常用数学方法 227
11.4.3 常用统计方法 228
11.5 NumPy综合实例 231
11.5.1 预处理数据 232
11.5.2 根据日期分析股票涨幅 233
11.6 本章小结 234
2章 数据分析库Pandas 235
12.1 初识Pandas 235
12.1.1 安装Pandas 236
12.1.2 Pandas简单实例 237
12.2 序列Series 238
12.2.1 创建Series对象 238
12.2.2 Series数据操作 240
12.2.3 Series数据分析 242
12.3 数据帧DataFrame 247
12.3.1 创建DataFrame对象 247
12.3.2 DataFrame数据操作 248
12.3.3 DataFrame数据分析 251
12.4 综合实例 257
12.4.1 数据集概况 257
12.4.2 数据集分析 259
12.4.3 数据预处理 261
12.5 本章小结 264
3章 可视化工具库matplotlib 265
13.1 初识matplotlib 265
13.1.1 安装matplotlib 266
13.1.2 matplotlib简单图形绘制 267
13.2 常用2D图形 268
13.2.1 绘制散点图 268
13.2.2 绘制线性图 270
13.2.3 绘制柱状图 273
13.2.4 绘制直方图 274
13.2.5 绘制饼状图 276
13.3 常用3D图形 278
13.3.1 绘制3D散点图 278
13.3.2 绘制3D曲线 279
13.3.3 绘制3D曲面 280
13.3.4 绘制3D柱状图 281
13.4 图形设置 282
13.4.1 设置颜色 282
13.4.2 添加注释和标题 284
13.4.3 设置图例和标签 285
13.5 文件操作 286
13.5.1 从CSV文件中加载数据 286
13.5.2 从文本文件中加载数据 287
13.5.3 从Excel文件中加载数据 288
13.6 图像操作 290
13.6.1 图像的读取与显示 290
13.6.2 图像的保存与转换 292
13.7 综合实例 293
13.7.1 绘制子图 293
13.7.2 鸢尾花可视化属性分析 296
13.8 本章小结 297
4章 不错科学计算库SciPy 298
14.1 初识SciPy 298
14.1.1 SciPy的特点 298
14.1.2 安装SciPy 299
14.1.3 SciPy简单实例 300
14.1.4 SciPy使用基础 300
14.2 数值积分模块(integrate) 301
14.2.1 常用积分方法 301
14.2.2 求解常微分方程 306
14.3 插值模块(interpolate) 307
14.3.1 一维插值方法 308
14.3.2 多维插值方法 309
14.4 概率统计模块(stats) 310
14.4.1 连续型随机变量 311
14.4.2 离散型随机变量 312
14.4.3 常用统计方法 313
14.5 优化模块(optimize) 314
14.5.1 leastsq拟合方法 315
14.5.2 函数最小值方法 316
14.5.3 fsolve方法 319
14.6 其他常用模块 320
14.6.1 线性代数模块(linalg) 321
14.6.2 文件模块(io) 321
14.6.3 图像处理模块(ndimage) 322
14.6.4 特殊方法模块(spe) 326
14.7 综合实例 327
14.8 本章小结 331
第三部分 实践篇
5章 Python机器学习 335
15.1 初识机器学习 335
15.1.1 什么是机器学习 335
15.1.2 机器学习模型分类 336
15.1.3 Python与机器学习 338
15.2 机器学习开发流程 339
15.2.1 数据采集 339
15.2.2 数据清洗 339
15.2.3 数据标注 340
15.2.4 模型选择 340
15.2.5 模型评估和优化 341
15.3 初识scikit-learn 342
15.3.1 scikit-learn简介 342
15.3.2 安装scikit-learn 343
15.3.3 scikit-learn常用模块 344
15.4 常用的机器学习算法 346
15.4.1 K近邻算法 346
15.4.2 线性回归算法 350
15.4.3 决策树算法 353
15.4.4 支持向量机算法 356
15.4.5 朴素贝叶斯算法 359
15.4.6 几种机器学习算法的比较 361
15.5 机器学习实例 361
15.5.1 数据准备 361
15.5.2 选择和训练模型 362
15.5.3 使用模型 364
15.5.4 评估模型 365
15.6 机器学习综合实践 366
15.6.1 文本分类实例 366
15.6.2 回归项目实例 370
15.7 本章小结 375