第1章 Python基础知识 1
1.1 Python简介 1
1.1.1 Python特点 2
1.1.2 Python版本 3
1.2 Python安装与环境设置 3
1.2.1 Python下载与安装 3
1.2.2 Python环境设置 3
1.2.3 Anaconda安装 4
1.2.4 测试安装结果 6
1.2.5 安装Jupyter Notebook 6
1.2.6 IDLE环境 7
1.3 Python使用 8
1.3.1 启动Jupyter Notebook 8
1.3.2 运行个程序 9
1.3.3 Spyder应用 10
习题1 10
第2章 数据类型 12
2.1 数值 12
2.1.1 数值类型 12
2.1.2 不同数值类型之间的转换 14
2.2 常量、变量与关键字 15
2.2.1 常量的概念 15
2.2.2 变量的定义及属性 16
2.2.3 标识符和关键字 18
2.3 运算符与表达式 19
2.3.1 算术运算符及表达式 20
2.3.2 赋值运算符及表达式 22
2.3.3 关系运算符及表达式 23
2.3.4 逻辑运算符及表达式 23
2.3.5 成员运算符及表达式 24
2.3.6 同一性测试运算符及表达式 25
2.3.7 位运算符及表达式 25
2.3.8 运算符的优先级 25
2.4 字符串 26
2.4.1 字符串的创建 26
2.4.2 转义字符和原始字符串 27
2.4.3 字符串与数值类型数据的转换 28
2.4.4 input()函数的使用 28
2.4.5 print()函数的使用 29
2.4.6 字符串的格式化(格式化输出) 30
2.5 列表 30
2.5.1 列表的创建与删除 31
2.5.2 列表元素的访问 32
2.5.3 列表的序列操作 36
2.6 元组 42
2.6.1 元组的创建与删除 43
2.6.2 元组的常见操作 44
2.6.3 序列封包与序列解包 45
2.7 字典 46
2.7.1 字典创建与删除 46
2.7.2 字典的常见操作 47
2.8 集合 50
2.8.1 集合的创建与删除 50
2.8.2 集合的常见操作 50
2.8.3 集合支持的运算 52
2.8.4 4种数据类型的特性对比 53
习题2 53
第3章 程序结构 57
3.1 程序设计概述 57
3.2 顺序结构 57
3.3 选择结构 58
3.3.1 单分支选择结构 58
3.3.2 双分支选择结构 59
3.3.3 多分支选择结构 60
3.3.4 选择语句嵌套 60
3.3.5 条件运算 61
3.4 循环结构 62
3.4.1 for循环结构 62
3.4.2 while循环结构 64
3.4.3 循环嵌套结构 64
3.4.4 break、continue语句 65
3.4.5 无限循环 66
3.4.6 列表推导式 66
3.4.7 生成器推导式 67
习题3 68
第4章 正则表达式及应用 72
4.1 字符串 72
4.1.1 字符串编码 72
4.1.2 字符串运算 73
4.1.3 字符串性质 74
4.1.4 字符串格式化 74
4.2 字符串方法与应用 77
4.3 字符串常量与应用 85
4.3.1 字符串常量查询与类型 85
4.3.2 字符串常量在加密中的应用 86
4.4 正则表达式语法与应用 88
4.4.1 正则表达式语法 88
4.4.2 应用示例 89
4.5 re模块 91
4.5.1 re模块的常用方法及功能 91
4.5.2 re模块方法的使用 92
4.6 正则表达式对象的应用 97
4.6.1 正则表达式对象的match()、search()和findall()方法 97
4.6.2 正则表达式对象的sub()和subn()方法 98
4.6.3 正则表达式对象的split()方法 98
4.7 子模式与match对象 99
习题4 101
第5章 函数 106
5.1 Python函数分类 106
5.1.1 内建函数 106
5.1.2 库模块 107
5.2 自定义函数与调用 108
5.2.1 自定义函数 108
5.2.2 函数调用 109
5.2.3 lambda函数的定义 109
5.2.4 列表解析 110
5.2.5 模块 111
5.2.6 函数的嵌套调用 112
5.2.7 函数的递归调用 113
5.3 函数的参数值传递 113
5.3.1 位置参数 114
5.3.2 带默认值的参数 114
5.3.3 关键字参数 115
5.3.4 可变长参数 115
5.3.5 参数是序列解包 116
5.3.6 修改形参的值是否会影响实参 116
5.4 变量的作用域 117
5.4.1 局部变量 117
5.4.2 全局变量 118
5.4.3 命名常量 119
习题5 120
第6章 文件操作 122
6.1 文件对象 122
6.2 文件对象的常用属性和方法 124
6.3 文本文件操作 126
6.3.1 文本文件的基本操作方式 126
6.3.2 文件定位 128
6.4 二进制文件操作 129
6.4.1 二进制文件的基本操作 129
6.4.2 二进制文件的随机访问 130
6.4.3 pickle模块的使用 130
6.4.4 struct模块的使用 131
6.5 文件格式转换 133
6.5.1 CSV文件 133
6.5.2 CSV文件的读取与显示 134
6.5.3 将TXT文件转换成CSV文件 134
6.5.4 TXT文件的读取与转换 135
6.6 路径和文件操作 136
6.6.1 路径操作 136
6.6.2 文件操作 140
习题6 141
第7章 异常与异常处理 144
7.1 异常 144
7.1.1 异常的定义 144
7.1.2 Python内建异常类 146
7.1.3 内建异常类的简单应用 147
7.2 异常处理 148
7.2.1 异常处理结构 148
7.2.2 抛出异常:raise语句 153
7.2.3 断言:assert语句 154
7.3 实现异常的传递和自定义异常 155
7.3.1 异常的嵌套传递 155
7.3.2 自定义异常类 157
习题7 159
第8章 面向对象编程 162
8.1 类与对象 162
8.1.1 面向对象编程的基本概念 162
8.1.2 类的定义 163
8.1.3 对象的定义和使用 164
8.2 属性与方法 165
8.2.1 属性与方法的定义 165
8.2.2 属性与方法的访问 166
8.3 私有成员与公有成员 167
8.4 构造方法与析构方法 169
8.4.1 构造方法 169
8.4.2 析构方法 171
8.5 静态方法与类方法 171
8.5.1 静态方法 172
8.5.2 类方法 173
8.5.3 实例方法、类方法、静态方法的异同 174
8.6 继承、多态与重载 176
8.6.1 继承 176
8.6.2 多态 179
8.6.3 重载 179
习题8 180
第9章 科学计算与可视化 184
9.1 Python科学计算与可视化模块 184
9.1.1 Numpy模块 184
9.1.2 Scipy模块 184
9.1.3 Matplotlib模块 184
9.1.4 Pyecharts模块 185
9.2 Numpy数据处理 185
9.2.1 Numpy数组对象的创建 185
9.2.2 ndarray数组对象的属性 189
9.2.3 访问数组元素 190
9.2.4 ndarray数组元素的类型 191
9.2.5 Numpy常量 191
9.2.6 ndarray数组运算及函数 193
9.3 Scipy数值计算 208
9.3.1 常数与特殊函数 209
9.3.2 Scipy图像处理 211
9.3.3 Scipy统计 213
9.4 Matplotlib数据可视化 216
9.4.1 绘制带标签的曲线图 217
9.4.2 绘制散点图 217
9.4.3 绘制饼图 219
9.4.4 绘制多个子图 219
9.4.5 绘制三维图形 220
9.5 Pyecharts数据可视化 221
9.5.1 简单示例 222
9.5.2 Pyecharts绘图步骤 224
9.5.3 Pyecharts绘图示例 226
9.5.4 Pyecharts词云图绘制 239
习题9 240
参考文献 242