本书以Python 3为基础,循序渐进地讲解了Python从入门到进阶的知识。全书共15章。首先从Python的起源及功能特点开始讲述,介绍Python 3的安装、配置,并详细讲解Python的基础知识,包括变量和运算符的使用、三大控制结构、标准数据类型、函数、文件输入和输出、面向对象编程和异常处理等相关知识;然后讲解Python的高级知识,包括OS和SYS模块的使用、正则表达式、多线程与多进程编程、网络编程、数据库编程、NumPy模块和Pandas模块等相关知识。
本书可以作为普通高等院校计算机、大数据、人工智能等专业Python相关课程的教材,也可作为Python爱好者的入门教程或自学参考用书。
1.面向普通本科学生群体的就业场景,以实用为目的
2.使用Python 3.7作为教学使用的版本
3.在内容编排上,参考了Python官方教程,在保证具有一定技术深度的同时,又具有较强的可读性
4.尽量完整地介绍Python的基础知识及高级应用
安俊秀,2004年毕业于西安交通大学计算机科学与技术专业,获工学硕士学位。中国计算机学会高级会员;中国电子学会高级会员;成都市科技攻关计划评审专家;成都军区项目评审专家;汕尾市科技顾问团首席顾问。
1993年进入山西大学商务学院任教,2006年底调入成都信息工程大学任教。最近三年,先后承担了《Linux体系和编程》、《软件项目管理》、《工程导论》、《计算机组成原理》等本科课程;承担了《云计算与大数据》、《并行计算》、《Hadoop处理技术》等研究生课程。在科研工作方面,一直从事云计算与大数据、信息智能搜索与计算社会方面的研究工作。近三年发表论文20余篇,其中第一作者10余篇,核心期刊以上占5篇。独立完成专著1部,编著教材1部和参与编著教材1部,主编教材1部。获得国家发明专利2项(2014授权),实用新型专利授权12项。获得软件著作权13项。科研项目10项,其中作为项目负责人承担国家自然基金面上项目1项(71673032);作为项目负责人承担四川省省级以上项目3项(SC14B016、15ZA0195、WLWH13-01);作为第一主研参与国家社会科学项目2项(15BSH025、12XSH019);作为第一主研参与教育部人文社会科学研究项目1项(12YJA190009)。2015年获四川省社科高水平研究团队称号。
第1章 Python简介 1
1.1 Python概述 1
1.1.1 什么是Python 1
1.1.2 Python的特点 2
1.2 Python的安装 3
1.2.1 Python在Windows操作系统中的
安装 3
1.2.2 Python在Linux操作系统中的
安装 6
1.2.3 Python在macOS中的安装 9
1.3 编写第一个Python程序 10
1.3.1 hello world 10
1.3.2 Python解释器 12
1.3.3 注释的使用 13
习题 13
第2章 Python基础 15
2.1 Python中的变量 15
2.1.1 数字 15
2.1.2 字符串 18
2.1.3 类型转换 19
2.1.4 变量 20
2.1.5 常量 22
2.1.6 变量的命名规则 22
2.2 Python中的运算符 23
2.3 Python中的字符串和编码 27
2.3.1 字符串的定义和使用 27
2.3.2 字符串编码 31
2.3.3 格式化字符串 32
2.4 Python编辑器 32
习题 35
第3章 Python流程控制 37
3.1 缩进的使用 37
3.2 标准输入/输出 38
3.2.1 标准输入 39
3.2.2 标准输出 39
3.3 输出字符串 40
3.4 if判断语句 41
3.4.1 if语句 41
3.4.2 if-else语句 42
3.4.3 if-elif-else语句 43
3.4.4 if语句条件表达式 45
3.5 while循环 46
3.6 for循环 48
3.7 break和continue语句的使用 51
3.7.1 break语句 51
3.7.2 continue语句 52
习题 53
第4章 列表、元组、字典和集合 55
4.1 列表 55
4.1.1 创建和使用列表 55
4.1.2 列表进阶 59
4.1.3 列表解析 63
4.2 元组 65
4.2.1 创建和使用元组 65
4.2.2 元组进阶 69
4.3 字典 70
4.3.1 创建和使用字典 70
4.3.2 字典进阶 72
4.4 集合 76
4.4.1 创建和使用集合 76
4.4.2 集合进阶 78
习题 79
第5章 函数与模块 81
5.1 定义和调用函数 81
5.2 内置函数 83
5.2.1 数学计算函数 83
5.2.2 类型转换函数 83
5.2.3 数据处理函数 84
5.3 函数参数 84
5.3.1 普通参数 84
5.3.2 缺省参数 86
5.3.3 关键字参数 87
5.3.4 不定长参数 88
5.3.5 函数返回值 88
5.4 高阶函数 91
5.4.1 filter()函数 91
5.4.2 map()函数 92
5.4.3 reduce()函数 92
5.4.4 lambda表达式 93
5.5 作用域 94
5.5.1 局部变量 94
5.5.2 全局变量 95
5.6 模块 96
5.6.1 内置模块 96
5.6.2 自定义模块 97
5.6.3 安装第三方模块 99
习题 99
第6章 文件I/O 101
6.1 文件路径 101
6.1.1 绝对路径 101
6.1.2 相对路径 102
6.2 文件打开和关闭 103
6.2.1 open()函数 103
6.2.2 with open 104
6.3 读文件 105
6.3.1 read()函数 105
6.3.2 readline()函数 106
6.3.3 readlines()函数 107
6.3.4 大文件读取 107
6.3.5 文件指针 108
6.4 写文件 109
6.4.1 覆盖写 109
6.4.2 追加写 110
习题 110
第7章 面向对象编程 112
7.1 什么是类与对象 112
7.2 使用类与对象 113
7.2.1 类方法 113
7.2.2 类变量 114
7.2.3 类的实例——对象 114
7.2.4 实例变量 114
7.2.5 再谈self参数 117
7.3 私有变量 117
7.4 继承 120
7.4.1 属性继承 120
7.4.2 方法重写 121
7.4.3 多态 123
习题 125
第8章 错误和异常 127
8.1 区分错误和异常 127
8.2 处理异常 129
8.2.1 try-except语句 130
8.2.2 未发生异常——else子句 131
8.2.3 巧用finally清理子句 131
8.2.4 处理多种异常 132
8.3 抛出异常 136
8.4 自定义异常 138
习题 140
第9章 os、sys模块及应用 141
9.1 os模块 141
9.1.1 文件操作 141
9.1.2 目录操作 154
9.1.3 跨平台问题 158
9.2 sys模块 160
9.3 实例 165
9.3.1 文件/目录信息查看 165
9.3.2 文件/目录管理器 167
习题 171
第10章 正则表达式 172
10.1 正则表达式简介 172
10.2 定义和使用正则表达式 174
10.2.1 定义正则表达式 174
10.2.2 匹配字符串 176
10.2.3 替换字符串 183
10.3 实例 186
10.3.1 校验电话号码 186
10.3.2 校验邮箱 187
10.3.3 校验IP地址 187
10.3.4 提取超链接 188
10.3.5 提取中文字符 189
习题 189
第11章 多线程及多进程编程 190
11.1 多线程简介 190
11.2 Python多线程编程 191
11.2.1 _thread模块 191
11.2.2 threading模块 194
11.3 线程同步 197
11.4 queue模块 201
11.4.1 FIFO队列Queue 202
11.4.2 LIFO队列LifoQueue 203
11.4.3 优先级队列PriorityQueue 204
11.5 Python多进程编程 205
11.5.1 os.fork()函数 205
11.5.2 multiprocessing模块 206
11.5.3 进程池 208
11.5.4 进程通信 209
11.6 实例 212
11.6.1 模拟售票程序 213
11.6.2 生产者-消费者模式模拟程序 214
11.6.3 多线程和多进程综合应用程序 216
习题 217
第12章 网络编程 218
12.1 网络编程简介 218
12.1.1 网络协议 218
12.1.2 C/S架构和B/S架构简介 219
12.2 Socket编程 220
12.2.1 TCP简介 221
12.2.2 UDP简介 223
12.3 requests模块 224
12.3.1 发送请求 225
12.3.2 上传文件 227
12.3.3 常用反爬机制及解决办法 228
12.4 实例 229
12.4.1 使用TCP实现伪机器人聊天
程序 229
12.4.2 使用requests模块爬取小说 231
习题 233
第13章 数据库编程 235
13.1 数据库简介 235
13.1.1 关系型数据库 235
13.1.2 非关系型数据库 239
13.2 MySQL常用操作 240
13.2.1 连接数据库 240
13.2.2 创建和管理数据库 241
13.2.3 创建和管理表 242
13.3 SQLite 3常用操作 249
13.3.1 连接数据库 250
13.3.2 创建和管理表 250
13.4 MongoDB常用操作 256
13.4.1 连接数据库 256
13.4.2 集合与文档 256
13.5 实例 263
13.5.1 使用MySQL实现模拟银行
ATM机 263
13.5.2 使用SQLite 3实现学生信息管理
系统 268
13.5.3 使用MongoDB+Socket+图灵机器人
API实现人机聊天系统 273
习题 276
第14章 NumPy模块 278
14.1 NumPy简介及安装 278
14.2 NumPy中的数组对象 279
14.2.1 数组对象的创建 279
14.2.2 数组对象的常用属性 284
14.2.3 数组元素的访问与修改 285
14.2.4 数组的基础运算 289
14.2.5 数组的基本操作 291
14.3 数学运算 295
14.3.1 常用数学函数 295
14.3.2 统计运算 295
14.3.3 基本线性代数运算 298
14.4 实例 299
14.4.1 图像的常用操作 300
14.4.2 图像二值化 301
习题 304
第15章 pandas模块 305
15.1 pandas简介及安装 305
15.2 Series和DataFrame 306
15.2.1 创建Series对象 306
15.2.2 访问与修改Series中的元素 307
15.2.3 创建DataFrame对象 308
15.2.4 DataFrame中的增、删、
选、改 310
15.3 数据处理 316
15.3.1 缺失值处理 316
15.3.2 索引的重置 317
15.3.3 多层索引 318
15.3.4 排序 320
15.3.5 文件读/写 321
15.3.6 数据透视 322
习题 323
参考文献 324