本书以培养零编程基础的初学者从学习程序设计的基本概念到编写实际应用的软件项目为主线,采用“任务驱动”的方式设计整个教学过程。全书按照理论与实践一体化的教学方式组织编写,便于教师采用边理论讲解、边实践操作的方式进行教学,也方便学生进行自学。本书在内容选取上既突出程序设计语言的通用性,又强调如何利用 Python 解决实际问题,将 Python 程序设计开发者所必须掌握的技能与知识点进行映射,并按照各阶段学习者的认知能力,将知识进行合理组织和裁剪。全书共 10 章,以循序渐进、深入浅出的方式对 Python 基本语法、流程控制语句、函数、面向对象、数据处理、数据库操作、爬虫框架及数据分析的使用进行了讲解,带领读者进入 Python 简单而优美的世界。在章节编排上,每章的知识内容都对应一个典型的 Python 编程场景,在场景中将这些知识分成内容相关、难易程度递进的 4 个小节。在每节理论知识讲解之后,还都设有针对性强的课后实践练习,帮助读者轻松理解知识、快速上手操作。最后 3 章还精心设计了 3 个与实际工作项目密切结合的典型案例,以帮助读者进一步提升 Python 实战开发能力。本书提供全套的教学课件、教学视频、源代码、课后实训解析、课程标准及参考授课计划,配套资源可以登录电子工业出版社官方网站下载。本书可作为高等职业院校和应用型本科计算机相关专业程序设计类课程的专业课教材,也可作为广大 Python 语言爱好者的学习参考书。
崔晓军,男,教授,温州职业技术学院信息技术学院院长,长期从事计算机相关专业的专业教学与教学管理,主持建设教育部骨干专业和浙江省十三五优势专业"计算机网络技术”专业,主持教育部骨干实训基地和浙江省示范性实训基地"智慧农业实训基地”建设,主持温州市优势专业和优势特色专业群建设。近几年主要从事数字农业领域的科研与社会服务工作,主持温州市工程技术中心和温州市应用技术协同创新中心建设,当选中国高等教育战略学会人工智能与机器人教育专委会理事、CCF数字农业分会首批执行委员。
第 1 章 初识 Python 1
【本章简介】 1
【知识目标】 1
【技能目标】 1
【思政目标】 2
【课前预习】 2
1.1 Python 介绍 3
1.1.1 Python 的发展 3
1.1.2 Python 语言优势 3
1.1.3 配置 Python 开发环境 5
1.1.4 Python3.x 和 Python2.x 的
区别 6
1.1.5 第一个 Python 程序 6
1.1.6 学生实践练习 9
1.2 Python IDE 开发工具 10
1.2.1 集成开发环境 10
1.2.2 创建 Python 工程 12
1.2.3 编码规范 14
1.2.4 学生实践练习 14
1.3 Python 变量及基本类型 15
1.3.1 变量 15
1.3.2 基本类型 15
1.3.3 类型转换 17
1.3.4 学生实践练习 18
1.4 输入、输出及代码调试 19
1.4.1 输入和输出 19
1.4.2 代码调试 26
1.4.3 学生实践练习 27
1.5 阅读材料 29
本章总结 30
本章实训 31
第 2 章 Python 基本语法 32
【本章简介】 32
【知识目标】 32
【技能目标】 32
【思政目标】 33
【课前预习】 33
2.1 数据运算 33
2.1.1 运算符 33
2.1.2 运算优先级 36
2.1.3 学生实践练习 38
2.2 选择结构 38
2.2.1 if 选择结构 38
2.2.2 if-else 选择结构 39
2.2.3 多重 if 语句 40
2.2.4 学生实践练习 41
2.3 循环结构 43
2.3.1 循环控制语句 43
2.3.2 while 循环 43
2.3.3 学生实践练习 44
2.4 for 循环 45
2.4.1 in 操作符 45
2.4.2 for 循环 46
2.4.3 学生实践练习 47
2.5 阅读材料 48
本章总结 50
本章实训 50
第 3 章 Python 复杂数据类型 51
【本章简介】 51
【知识目标】 51
【技能目标】 51
【思政目标】 52
【课前预习】 52
3.1 列表 53
3.1.1 创建和访问列表 53
3.1.2 列表的基本操作 57
3.1.3 列表的函数和方法 60
3.1.4 学生实践练习 61
3.2 元组 62
3.2.1 创建元组 62
3.2.2 访问元组元素 63
3.2.3 删除元组 64
3.2.4 元组的其他操作 65
3.2.5 学生实践练习 66
3.3 字典 67
3.3.1 创建字典 67
3.3.2 访问字典元素 68
3.3.3 修改字典 69
3.3.4 删除字典 69
3.3.5 字典的函数和方法 71
3.3.6 学生实践练习 71
3.4 集合与嵌套 73
3.4.1 集合 73
3.4.2 4种类型的相互比较 77
3.4.3 复杂类型转换 78
3.4.4 嵌套 84
3.4.5 学生实践练习 87
3.5 阅读材料 87
本章总结 89
本章实训 90
第 4 章 函数 91
【本章简介】 91
【知识目标】 91
【技能目标】 92
【思政目标】 92
【课前预习】 92
4.1 自定义函数 93
4.1.1 函数定义 93
4.1.2 函数调用 94
4.1.3 按值传递和引用传递 94
4.1.4 return 语句 96
4.1.5 学生实践练习 97
4.2 函数的高级用法 97
4.2.1 传递参数 97
4.2.2 结合循环使用函数 101
4.2.3 函数模块中的调用 102
4.2.4 学生实践练习 104
4.3 字符串与集合函数 105
4.3.1 字符串的定义 105
4.3.2 字符串的常用函数 107
4.3.3 集合类操作函数 108
4.3.4 学生实践练习 109
4.4 常用函数 111
4.4.1 print()函数 111
4.4.2 join()函数与 split()函数 112
4.4.3 enumerate()函数与 zip()
函数 113
4.4.4 lambda 匿名函数 115
4.4.5 学生实践练习 116
4.5 阅读材料 117
本章总结 118
本章实训 119
第 5 章 面向对象 120
【本章简介】 120
【知识目标】 120
【技能目标】 120
【思政目标】 121
【课前预习】 121
5.1 类和对象 121
5.1.1 类的定义 121
5.1.2 创建和使用对象 123
5.1.3 学生实践练习 124
5.2 类的方法 125
5.2.1 方法的定义 125
5.2.2 方法的调用 126
5.2.3 构造方法 126
5.2.4 学生实践练习 127
5.3 继承 130
5.3.1 继承的概念 130
5.3.2 继承的使用 131
5.3.3 学生实践练习 133
5.4 模块 134
5.4.1 自定义模块 134
5.4.2 导入模块 135
5.4.3 学生实践练习 138
5.5 阅读材料 139
本章总结 140
本章实训 141
第 6 章 数据处理 143
【本章简介】 143
【知识目标】 143
【技能目标】 143
【思政目标】 144
【课前预习】 144
6.1 文件 I/O 145
6.1.1 目录的操作 145
6.1.2 文件读取 146
6.1.3 文件写入 149
6.1.4 学生实践练习 150
6.2 JSON 和 XML 解析 151
6.2.1 JSON 字符串和 Python
对象的转换 151
6.2.2 XML 解析 153
6.2.3 学生实践练习 159
6.3 CSV 和 Excel 的高效解析 161
6.3.1 CSV 的解析 161
6.3.2 Excel 的解析 164
6.3.3 学生实践练习 167
6.4 异常 169
6.4.1 异常抛出 169
6.4.2 异常捕捉 171
6.4.3 常见的异常 173
6.4.4 学生实践练习 174
6.5 阅读材料 175
本章总结 176
本章实训 177
第 7 章 数据库 178
【本章简介】 178
【知识目标】 178
【技能目标】 178
【思政目标】 179
【课前预习】 179
7.1 数据库连接 180
7.1.1 Python 数据库接口
介绍 180
7.1.2 PyMySQL 的安装 180
7.1.3 创建数据库连接 181
7.1.4 学生实践练习 182
7.2 数据库查询 183
7.2.1 SQL 语句执行 183
7.2.2 查询方法介绍 185
7.2.3 学生实践练习 185
7.3 数据库的增、删、改操作 187
7.3.1 数据库增、删、改
操作 187
7.3.2 事务机制 188
7.3.3 学生实践练习 190
7.4 数据库操作的封装 192
7.4.1 封装介绍 192
7.4.2 对数据库操作进行
封装 194
7.4.3 学生实践练习 195
7.5 阅读材料 197
本章总结 199
本章实训 199
第 8 章 实战项目之爬虫和分词 201
【本章简介】 201
【知识目标】 201
【技能目标】 202
【思政目标】 202
【课前预习】 202
8.1 项目需求 203
8.1.1 热词分析平台 203
8.1.2 数据库设计 204
8.1.3 网页内容分析 204
8.1.4 手机版网页新闻的
获取 206
8.1.5 学生实践练习 208
8.2 爬虫 208
8.2.1 爬虫介绍 208
8.2.2 爬虫框架 209
8.2.3 通过 URL 浏览网页 211
8.2.4 urllib 模块 211
8.2.5 POST 方式和 GET
方式 213
8.2.6 学生实践练习 215
8.3 正则表达式 217
8.3.1 正则表达式介绍 217
8.3.2 语法规则 218
8.3.3 Re 模块 219
8.3.4 学生实践练习 224
8.4 分词 226
8.4.1 分词概述 226
8.4.2 常用分词库 228
8.4.3 结巴分词 230
8.4.4 学生实践练习 235
8.5 阅读材料 236
本章总结 238
本章实训 238
第 9 章 实战项目之 Scrapy 框架 240
【本章简介】 240
【知识目标】 240
【技能目标】 240
【思政目标】 241
【课前预习】 241
9.1 创建 Scrapy 工程 242
9.1.1 Scrapy 安装与配置 242
9.1.2 创建 Scrapy 工程 243
9.1.3 Scrapy 实践经验 246
9.1.4 学生实践练习 248
9.2 网页内容解析 250
9.2.1 常用网页解析工具
介绍 250
9.2.2 Scrapy 选择器 251
9.2.3 使用 XPath 表达式解析
网页 252
9.2.4 使用 CSS 表达式解析
网页 253
9.2.5 学生实践练习 254
9.3 Items 和 Spider 组件 255
9.3.1 Items 组件 255
9.3.2 Spider 组件 257
9.3.3 学生实践练习 259
9.4 Pipeline 组件 262
9.4.1 Pipeline 组件介绍 262
9.4.2 下载器中间件 263
9.4.3 Spider 中间件 268
9.4.4 学生实践练习 270
9.5 阅读材料 274
本章总结 275
本章实训 276
第 10 章 实战项目之Pandas 和
Matplotlib 277
【本章简介】 277
【知识目标】 277
【技能目标】 277
【思政目标】 278
【课前预习】 278
10.1 Pandas 入门 279
10.1.1 Pandas 安装 279
10.1.2 Series 和 DataFrame
对象 280
10.1.3 索引对象 285
10.1.4 学生实践练习 292
10.2 Pandas 运算 294
10.2.1 算术运算 294
10.2.2 排序 297
10.2.3 汇总统计 300
10.2.4 其他运算方法 301
10.2.5 处理缺失数据 303
10.2.6 学生实践练习 304
10.3 Pandas 读写数据 306
10.3.1 CSV 文件的读写 306
10.3.2 Excel 文件的读写 308
10.3.3 MySQL 数据库的
读写 310
10.3.4 学生实践练习 312
10.4 Pandas 和 Matplotlib 绘图 314
10.4.1 Matplotlib 绘图 314
10.4.2 Pandas 绘图 317
10.4.3 学生实践练习 323
10.5 阅读材料 325
本章总结 327
本章实训 327
参考文献 329