第1章 Python 3概述 2
1.1 Python简介 2
1.1.1 Python的前世今生 2
1.1.2 Python的应用场合 2
1.1.3 Python的特性 3
1.1.4选择Python的版本 4
1.1.5如何学习Python 5
1.2 Python环境构建 5
1.2.1在Windows系统中安装Python 3 5
1.2.2在Linux系统中安装Python 3 8
1.2.3在Mac OS系统中安装Python 3 9
1.3第一个程序Hello World! 10
1.3.1程序简析 11
1.3.2 print()函数 11
1.3.3 input()函数 12
1.3.4注释 12
1.3.5 IDLE使用简介 13
1.4实验 17
1.4.1 PyCharm的安装 18
1.4.2实例:节日贺卡 23
1.4.3程序剖析 24
1.5小结 25
习题 25
参考文献 26
第2章 基本语法 27
2.1 PEP8风格指南 27
2.1.1变量 27
2.1.2函数和方法 28
2.1.3属性和类 29
2.1.4模块和包 29
2.1.5规定 29
2.2变量与数据类型 29
2.2.1变量 30
2.2.2变量命名规则 30
2.2.3数据类型 30
2.2.4 type()函数 32
2.2.5数据类型的转换 32
2.3表达式 34
2.3.1算术运算符 34
2.3.2比较运算符 34
2.3.3逻辑运算符 34
2.3.4复合赋值运算符 35
2.3.5运算符优先级 35
2.4实验 36
2.4.1用常量和变量 36
2.4.2用运算符和表达式 37
2.4.3 type()函数的使用 37
2.4.4 help()函数的使用 38
2.5小结 39
习题 39
参考文献 39
第3章 流程控制 41
3.1条件语句 41
3.2条件流程控制 42
3.2.1单向条件(if…) 43
3.2.2双向条件语句(if…else) 43
3.2.3多向条件语句(if…elif…else) 44
3.2.4条件嵌套 45
3.3循环流程控制 45
3.3.1 for循环 46
3.3.2 for循环嵌套 47
3.3.3 break及continue语句 48
3.3.4 for…if…else循环 48
3.3.5 while循环 49
3.4实验 50
3.4.1使用条件语句 50
3.4.2使用for语句 51
3.4.3使用while语句 52
3.4.4使用break语句 52
3.4.5使用continue语句 53
3.5小结 54
习题 54
参考文献 55
第4章 组合数据类型 56
4.1列表 56
4.1.1创建列表 56
4.1.2使用列表 57
4.1.3删除列表元素 58
4.1.4列表的内置函数与其他方法 59
4.2元组 60
4.2.1创建元组 60
4.2.2使用元组 61
4.2.3删除元组 62
4.2.4元组的内置函数 62
4.3字典 63
4.3.1创建字典 63
4.3.2使用字典 63
4.3.3删除元素和字典 64
4.3.4字典的内置函数和方法 65
4.4集合 66
4.4.1创建集合 66
4.4.2使用集合 67
4.4.3删除元素和集合 68
4.4.4集合的方法 69
4.5实验 70
4.5.1元组的使用 70
4.5.2集合的使用 70
4.6小结 71
习题 71
参考文献 72
第5章 字符串与正则表达式 73
5.1字符串基础 73
5.1.1字符串的基本操作 74
5.1.2字符串格式化 77
5.1.3字符串格式化符号 77
5.1.4字符串格式化元组 78
5.2字符串方法 78
5.3正则表达式 83
5.3.1认识正则表达式 83
5.3.2 re模块 85
5.3.3 re.match()方法 85
5.3.4 re.search()方法 85
5.3.5 re.match()与re.search()的区别 86
5.4实验 86
5.4.1使用字符串处理函数 86
5.4.2正则表达式的使用 87
5.4.3使用re模块 87
5.5小结 88
习题 88
参考文献 89
第6章 函数 90
6.1函数的概述 90
6.1.1函数的定义 90
6.1.2全局变量 91
6.1.3局部变量 93
6.2函数的参数和返回值 93
6.2.1参数传递的方式 94
6.2.2位置参数和关键字参数 95
6.2.3默认值参数 96
6.2.4可变参数 96
6.2.5函数的返回值 98
6.3函数的调用 99
6.3.1函数的调用方法 99
6.3.2嵌套调用 99
6.3.3使用闭包 100
6.3.4递归调用 101
6.4实验 102
6.4.1声明和调用函数 102
6.4.2在调试窗口中查看变量的值 102
6.4.3使用函数参数和返回值 105
6.4.4使用闭包和递归函数 107
6.4.5使用Python的内置函数 108
6.5小结 108
习题 109
参考文献 109
第7章 模块 110
7.1模块的概述 110
7.1.1模块与程序 110
7.1.2命名空间 111
7.1.3模块导入方法 112
7.1.4自定义模块和包 113
7.2安装第三方模块 115
7.3模块应用实例 118
7.3.1日期时间相关:datetime模块 118
7.3.2读写JSON数据:json模块 122
7.3.3系统相关:sys模块 124
7.3.4数学:math模块 125
7.3.5随机数:random模块 127
7.4在Python中调用R语言 129
7.4.1安装rpy2模块 129
7.4.2安装R语言工具 129
7.4.3测试安装 131
7.4.4调用R示例 132
7.5实验 133
7.5.1使用datetime模块 133
7.5.2使用sys模块 134
7.5.3使用与数学有关的模块 135
7.5.4自定义和使用模块 135
7.6小结 136
习题 136
参考文献 137
第8章 类和对象 138
8.1理解面向对象 138
8.1.1面向对象编程的概念 138
8.1.2面向对象术语简介 138
8.2类的定义与使用 139
8.2.1类的定义 139
8.2.2类的使用 140
8.2.3类的构造方法及专有方法 140
8.2.4类的访问权限 141
8.2.5获取对象信息 143
8.3类的特点 144
8.3.1封装 144
8.3.2多态 144
8.3.3继承 145
8.3.4多重继承 149
8.4实验 150
8.4.1声明类 150
8.4.2类的继承和多态 151
8.4.3复制对象 152
8.5小结 153
习题 154
参考文献 154
第9章 异常 155
9.1异常概述 155
9.1.1认识异常 155
9.1.2处理异常 155
9.1.3抛出异常 160
9.2异常处理流程 161
9.3自定义异常 161
9.4实验 162
9.4.1利用try-except处理除数为零的异常 162
9.4.2自定义异常的使用 163
9.4.3 raise关键字的使用 164
9.4.4内置异常处理语句的使用 164
9.5小结 165
习题 165
参考文献 165
第10章 文件操作 166
10.1打开文件 166
10.1.1文件模式 167
10.1.2文件缓冲区 168
10.2基本的文件方法 168
10.2.1读和写 168
10.2.2读取行 169
10.2.3关闭文件 170
10.2.4文件重命名 170
10.2.5删除文件 171
10.3 String I/O函数 171
10.3.1输出到屏幕 171
10.3.2读取键盘输入 171
10.4基本的目录方法 172
10.4.1创建目录 172
10.4.2显示当前工作目录 172
10.4.3改变目录 173
10.4.4删除目录 173
10.5实验 173
10.5.1文件操作 173
10.5.2目录操作 174
10.5.3 I/O函数的使用 175
10.6小结 176
习题 176
参考文献 176
第11章 项目实战:爬虫程序 178
11.1爬虫概述 178
11.1.1准备工作 179
11.1.2爬虫类型 179
11.1.3爬虫原理 180
11.2爬虫三大库 181
11.2.1 Requests库 181
11.2.2 BeautifulSoup库 187
11.2.3 Lxml库 193
11.3案例剖析:酷狗TOP500数据爬取 198
11.3.1思路简析 198
11.3.2代码实现 199
11.3.3代码分析 199
11.4 Scrapy框架 201
11.4.1 Scrapy爬虫框架 201
11.4.2 Scrapy的安装 202
11.4.3 Scrapy的使用 204
11.5实验 209
参考文献 210
第12章 项目实战:数据可视化 212
12.1 Matplotlib简介 212
12.1.1 Pyplot模块介绍 212
12.1.2 plot()函数 215
12.1.3绘制子图 216
12.1.4添加标注 218
12.1.5 Pylab模块应用 219
12.2 Artist模块介绍 220
12.2.1 Artist模块概述 220
12.2.2 Artist的属性 221
12.3 Pandas绘图 222
12.4案例剖析:词云图 225
12.4.1思路简析 226
12.4.2代码实现 227
12.4.3代码分析 228
12.5实验 229
参考文献 230
第13章 项目实战:数据分析 231
13.1数据清洗 231
13.1.1编码问题 231
13.1.2缺失值分析 232
13.1.3去除异常值 233
13.1.4去除重复值与冗余信息 233
13.2数据存取 234
13.2.1 CSV文件存取 234
13.2.2 JSON文件的存取 236
13.2.3 XLSX文件的存取 237
13.2.4 MySQL数据库文件的存取 239
13.3 NumPy 245
13.3.1 NumPy简介 245
13.3.2 NumPy基础 246
13.4案例剖析:房天下西安二手房数据分析 251
13.4.1思路简析 251
13.4.2代码实现 252
13.4.3代码分析 252
13.5实验 258
参考文献 259
附录A Python代码风格指南:PEP8 260
附录B I Python指南 263
附录C Pycharm指南 267