目录
前言
致谢
第1章 初识Python1
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 关键字global103
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 模块contextlib123
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.interpolate229
7.3 概率统计模块:scipy.stats233
7.3.1 基本统计量233
7.3.2 概率分布234
7.3.3 假设检验243
7.4 优化模块:scipy.optimize246
7.4.1 数据拟合247
7.4.2 最值优化251
7.4.3 方程求根254
7.5 积分模块:scipy.integrate255
7.5.1 符号积分与SymPy模块255
7.5.2 数值积分257
7.6 稀疏矩阵模块:scipy.sparse260
7.7 线性代数模块:scipy.linalg262
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 公有、私有、特殊
^ 收 起