第1章 初识Python 1
1.1 Python简介 1
1.2 Python版本的选择 2
1.3 Python集成开发环境的搭建 2
1.4第一行Python代码 4
1.5 IPython解释器 5
1.6 Python代码的执行模式 7
1.6.1解释器模式 7
1.6.2脚本模式 8
1.6.3解释器模式与脚本模式的区别 9
1.7 Jupyter Notebook的使用 9
本章学习笔记 11
本章新术语 11
本章新函数 11
第2章Python基础 12
2.1基本语法简介 12
2.2数据类型 17
2.2.1数字 18
2.2.2字符串 23
2.2.3 Unicode字符串 30
2.2.4索引与分片 32
2.2.5列表 34
2.2.6元组 40
2.2.7可变与不可变类型 42
2.2.8字典 44
2.2.9集合与不可变集合 48
2.2.10赋值机制 53
2.3判断与循环 58
2.3.1判断 58
2.3.2循环 62
2.4函数与模块 69
2.4.1函数 69
2.4.2模块 73
2.5异常与警告 77
2.5.1异常 77
2.5.2警告 83
2.6文件读写 83
2.6.1读文件 84
2.6.2写文件 85
2.6.3中文文件的读写 87
2.7内置函数 88
2.7.1数字相关的内置函数 88
2.7.2序列相关的内置函数 90
2.7.3类型相关的内置函数 92
本章学习笔记 92
本章新术语 92
本章新函数 94
第3章Python进阶 96
3.1函数进阶 96
3.1.1函数参数传递 96
3.1.2高阶函数 98
3.1.3函数map()、 filter()和reduce() 101
3.1.4 Lambda表达式 102
3.1.5关键字global 103
3.1.6函数的递归 104
3.2迭代器与生成器 105
3.2.1迭代器 105
3.2.2生成器 110
3.3装饰器 112
3.3.1装饰器的引入 112
3.3.2装饰器的用法 115
3.4上下文管理器与with语句 118
3.4.1上下文管理器的原理 119
3.4.2模块contextlib 123
3.5变量作用域 125
本章学习笔记 127
本章新术语 128
本章新函数 128
第4章Python标准库 129
4.1系统相关:sys模块 129
4.2与操作系统进行交互:os模块 133
4.3字符串相关:string模块 136
4.4正则表达式:re模块 138
4.5日期时间相关:datetime模块 142
4.6更好地打印Python对象:pprint模块 145
4.7序列化Python对象:pickle, cPickle模块 145
4.8读写JSON数据:json模块 147
4.9文件模式匹配:glob模块 150
4.10高级文件操作:shutil模块 151
4.11更多的容器类型:collections模块 153
4.12数学:math模块 157
4.13随机数:random模块 158
本章学习笔记 159
本章新术语 160
本章新函数 160
第5章Python科学计算基础:NumPy模块 162
5.1 NumPy模块简介 162
5.2数组基础 163
5.2.1数组的引入 163
5.2.2数组的属性 164
5.2.3数组的类型 166
5.2.4数组的生成 169
5.2.5数组的索引 172
5.2.6数组的迭代 174
5.3数组操作 175
5.3.1数值相关的数组操作 175
5.3.2形状相关的数组操作 179
5.3.3数组的拼接操作 184
5.3.4数组的四则运算、点乘和矩阵类型 187
5.3.5数组的数学操作 190
5.3.6数组的比较和逻辑操作 190
5.4数组广播机制 191
5.5数组索引进阶 194
5.5.1数组基础索引 194
5.5.2数组的高级索引 196
5.6数组读写 199
5.6.1数组的读取 199
5.6.2数组的写入 200
5.6.3数组的二进制读写 200
5.7随机数组 202
5.8结构数组 202
本章学习笔记 206
本章新术语 207
本章新函数 207
第6章Python可视化:Matplotlib模块 209
6.1 Matplotlib模块简介 209
6.2基于函数的可视化操作 210
6.2.1函数plt.plot()的使用 210
6.2.2图与子图 215
6.2.3其他可视化函数 217
6.3基于对象的可视化操作 217
6.4图像中的文本处理 219
6.5实例:基于Matplotlib的三角函数可视化 221
本章学习笔记 226
本章新术语 227
本章新函数 227
第7章Python科学计算进阶:SciPy模块 228
7.1 SciPy模块简介 228
7.2插值模块:scipy.interpolate 229
7.3概率统计模块:scipy.stats 233
7.3.1基本统计量 233
7.3.2概率分布 234
7.3.3假设检验 243
7.4优化模块:scipy.optimize 246
7.4.1数据拟合 247
7.4.2最值优化 251
7.4.3方程求根 254
7.5积分模块:scipy.integrate 255
7.5.1符号积分与SymPy模块 255
7.5.2数值积分 257
7.6稀疏矩阵模块:scipy.sparse 260
7.7线性代数模块:scipy.linalg 262
7.8实例:基于SciPy的主成分分析 268
本章学习笔记 271
本章新术语 272
本章新函数 272
第8章Python数据分析基础:Pandas模块 274
8.1 Pandas简介 274
8.2一维数据结构:Series对象 275
8.2.1 Series对象的生成 275
8.2.2 Series对象的使用 277
8.3二维数据结构:DataFrame对象 280
8.3.1 DataFrame对象的生成 280
8.3.2 DataFrame对象的使用 283
8.4 Pandas对象的索引 286
8.4.1基于中括号的索引和切片 286
8.4.2基于位置和标记的高级索引 289
8.5缺失值的处理 293
8.6数据的读写 294
8.7实例:基于Pandas的NBA数据分析 295
本章学习笔记 299
本章新术语 299
本章新函数 299
第9章Python面向对象编程 300
9.1面向对象简介 300
9.2自定义类型 303
9.3方法和属性 305
9.4继承与复用 311
9.5公有、私有、特殊以及静态的方法和属性 314
9.6多重继承 316
9.7实例:基于面向对象的森林火灾模拟 318
9.7.1森林火灾模拟 318
9.7.2基于继承机制的森林火灾模拟 324
本章学习笔记 328
本章新术语 329
本章新函数 329
第10章Python实践:中文小说文本分析 330
10.1数据预处理 330
10.2数据统计 334
10.3数据建模 338
10.4效果分析 340
本章学习笔记 349
本章新术语 349
本章新函数 349