技术教育社区
www.teccses.org

Python程序设计项目教程――从入门到实践

封面

作者:郑述招

页数:296

出版社:电子工业出版社

出版日期:2023

ISBN:9787121449468

电子书格式:pdf/epub/txt

内容简介

本教材由重量职业教育教师教学创新团队与企业资深工程师共同编著;秉承“学生易学”原则,依据“项目引导、任务驱动”的思路,共设计了 13 个模块(项目),每个模块(项目)细分为 2 ~ 4 个任务; 由实践到理论,再从理论回到实践,体现了职业教育和应用型本科教育的特点,符合初学者认知和学习编 程的规律。教材内容由浅入深,除 Python 基础语法、流程控制、函数、字符串的处理、组合数据类型、文件与异常、面向对象等 Python 基础编程内容外,还包括 Python 爬虫、数据分析、数据可视化及 AI 应用等实践性模块。 在配套资源方面,本教材践行“教师易教”原则,提供了微课视频、教学课件、教案、课程标准、教学日历、习题答案、程序源代码、实训指导书、软件资源包、拓展案例、考试试卷等丰富资源。此外,本教材还提供课程答疑服务群,为选用本教材的教师提供答疑、资源分享、课程思政等服务。 本教材既可以作为职业院校、应用型本科院校程序设计相关课程的教材,又可以作为 Python 爱好者的参考用书。

作者简介

郑述招,毕业于北京理工大学,系统工程专业。广东科学技术职业学院计算机学院教师,中国计算机学会会员,著作方向为数据分析、Python程序设计、大数据技术,主要从事数据分析、信息管理、大数据技术等相关教科研工作;先后获得广东省教育教学成果奖1项、广东省计算机设计大赛优秀指导教师、广东省农村科技特派员等。

目录

模块 1 初识 Python――搭建环境,编写 个程序………………………………..3
情景导入 …………………………………………………………………………………………………………………………..3
项目分解 …………………………………………………………………………………………………………………………..3
学习目标 …………………………………………………………………………………………………………………………..3
任务 1.1 认识 Python 语言 ……………………………………………………………………………………………….4
任务分析 …………………………………………………………………………………………………………………………………. 4
知识储备 …………………………………………………………………………………………………………………………………. 4
1.1.1 Python 的发展历程 ……………………………………………………………………………………………….. 4
1.1.2 Python 的特点 ………………………………………………………………………………………………………. 5
1.1.3 Python 的广泛应用 ……………………………………………………………………………………………….. 6
任务实施 …………………………………………………………………………………………………………………………………. 6
任务 1.2 编写 个 Python 程序 …………………………………………………………………………………….7
任务分析 …………………………………………………………………………………………………………………………………. 7
知识储备 …………………………………………………………………………………………………………………………………. 7
1.2.1 安装 Python 基础环境 …………………………………………………………………………………………… 7
1.2.2 熟悉 Python 自带的开发工具 IDLE ……………………………………………………………………… 10
1.2.3 体验功能强大的 PyCharm …………………………………………………………………………………… 11
任务实施 ……………………………………………………………………………………………………………………………….. 15
项目总结 …………………………………………………………………………………………………………………………15
能力检验 …………………………………………………………………………………………………………………………16
思辨与拓展 ……………………………………………………………………………………………………………………..16
模块 2 语法基础――树立规则,计算并打印期末成绩………………………………18
情景导入 …………………………………………………………………………………………………………………………18
项目分解 …………………………………………………………………………………………………………………………18
学习目标 …………………………………………………………………………………………………………………………19
任务 2.1 打印成绩单 ……………………………………………………………………………………………………..19
任务分析 ……………………………………………………………………………………………………………………………….. 19
知识储备 ……………………………………………………………………………………………………………………………….. 20
2.1.1 标识符与关键字 …………………………………………………………………………………………………. 20
2.1.2 变量 …………………………………………………………………………………………………………………… 21
2.1.3 注释 …………………………………………………………………………………………………………………… 22
2.1.4 打印输出 ……………………………………………………………………………………………………………. 23
任务实施 ……………………………………………………………………………………………………………………………….. 24
任务 2.2 通过键盘输入成绩并打印 ………………………………………………………………………………..24
任务分析 ……………………………………………………………………………………………………………………………….. 24
知识储备 ……………………………………………………………………………………………………………………………….. 25
2.2.1 数据类型 ……………………………………………………………………………………………………………. 25
2.2.2 数据类型的判断 …………………………………………………………………………………………………. 27
2.2.3 数据类型的转换 …………………………………………………………………………………………………. 27
2.2.4 数据的输入 ………………………………………………………………………………………………………… 28
任务实施 ……………………………………………………………………………………………………………………………….. 29
任务 2.3 计算总成绩及平均分 ……………………………………………………………………………………….30
任务分析 ……………………………………………………………………………………………………………………………….. 30
知识储备 ……………………………………………………………………………………………………………………………….. 31
2.3.1 算术运算符 ………………………………………………………………………………………………………… 31
2.3.2 关系运算符 ………………………………………………………………………………………………………… 31
2.3.3 逻辑运算符 ………………………………………………………………………………………………………… 32
2.3.4 成员运算符 ………………………………………………………………………………………………………… 33
2.3.5 赋值运算符 ……………………………………………………………………………………………………….. 165
8.3.1 认识 pickle 模块 ……………………………………………………………………………………………….. 165
8.3.2 dumps() 与 loads() 函数 ……………………………………………………………………………………… 165
8.3.3 dump() 与 load() 函数 ………………………………………………………………………………………… 165
任务实施 ……………………………………………………………………………………………………………………………… 166
项目总结 ……………………………………………………………………………………………………………………….169
能力检验 ……………………………………………………………………………………………………………………….170
思辨与拓展 ……………………………………………………………………………………………………………………171
模块 9 面向对象编程――协同合作,新思路实现校园通讯录……………………. 172
情景导入 ……………………………………………………………………………………………………………………….172
项目分解 ……………………………………………………………………………………………………………………….172
学习目标 ……………………………………………………………………………………………………………………….173
任务 9.1 体验面向对象编程 …………………………………………………………………………………………173
任务分析 ……………………………………………………………………………………………………………………………… 173
知识储备 ……………………………………………………………………………………………………………………………… 173
9.1.1 面向对象与面向过程的编程 ……………………………………………………………………………… 173
9.1.2 进一步理解面向对象编程思路 ………………………………………………………………………….. 174
9.1.3 面向对象的优势 ……………………………………………………………………………………………….. 175
任务实施 ……………………………………………………………………………………………………………………………… 175
任务 9.2 类的创建与使用 …………………………………………………………………………………………….176
任务分析 ……………………………………………………………………………………………………………………………… 176
知识储备 ……………………………………………………………………………………………………………………………… 176
9.2.1 类的定义 ………………………………………………………………………………………………………….. 177
9.2.2 生成对象 ………………………………………………………………………………………………………….. 178
9.2.3 为属性 默认值 ……………………………………………………………………………………………. 178
9.2.4 修改属性的值 …………………………………………………………………………………………………… 179
9.2.5 私有保护 ………………………………………………………………………………………………………….. 179
任务实施 ……………………………………………………………………………………………………………………………… 181
任务 9.3 使用继承机制 ………………………………………………………………………………………………..182
任务分析 ……………………………………………………………………………………………………………………………… 182
知识储备 ……………………………………………………………………………………………………………………………… 183
9.3.1 子类的定义 ………………………………………………………………………………………………………. 183
9.3.2 子类可以拥有独特的方法与属性 ………………………………………………………………………. 183
9.3.3 子类重写父类的方法 ………………………………………………………………………………………… 184
任务实施 ……………………………………………………………………………………………………………………………… 185
任务 9.4 实现校园通讯录 …………………………………………………………………………………………….187
任务分析 ……………………………………………………………………………………………………………………………… 187
知识储备 ……………………………………………………………………………………………………………………………… 188
9.4.1 找出通讯录系统中的类 …………………………………………………………………………………….. 188
9.4.2 通讯录系统的总体设计 …………………………………………………………………………………….. 188
9.4.3 通讯录系统的详细设计 …………………………………………………………………………………….. 188
任务实施 ……………………………………………………………………………………………………………………………… 190
项目总结 ……………………………………………………………………………………………………………………….195
能力检验 ……………………………………………………………………………………………………………………….195
思辨与拓展 ……………………………………………………………………………………………………………………196
模块 10 网络爬虫――光辉历程,获取热剧《觉醒年代》信息…………………… 201
情景导入 ……………………………………………………………………………………………………………………….201
项目分解 ……………………………………………………………………………………………………………………….201
学习目标 ……………………………………………………………………………………………………………………….202
任务 10.1 爬取《觉醒年代》主题网页代码 ………………………………………………………………….202
任务分析 ……………………………………………………………………………………………………………………………… 202
知识储备 ……………………………………………………………………………………………………………………………… 203
10.1.1 网络爬虫及其合法性 ………………………………………………………………………………………. 203
10.1.2 爬取网页前的准备工作 …………………………………………………………………………………… 203
10.1.3 初步体验 Requests 库 ………………………………………………………………………………………. 204
任务实施 ……………………………………………………………………………………………………………………………… 206
任务 10.2 提取《觉醒年代》主题网页信息 ………………………………………………………………….207
任务分析 ……………………………………………………………………………………………………………………………… 207
知识储备 ……………………………………………………………………………………………………………………………… 208
10.2.1 BeautifulSoup 库 ……………………………………………………………………………………………… 208
10.2.2 在网页中查找所需的信息 ……………………………………………………………………………….. 209
任务实施 ……………………………………………………………………………………………………………………………… 210
任务 10.3 爬取多个页面的信息 ……………………………………………………………………………………213
任务分析 ……………………………………………………………………………………………………………………………… 213
知识储备 ……………………………………………………………………………………………………………………………… 213
10.3.1 使用 cookie 模拟登录………………………………………………………………………………………. 213
10.3.2 爬取一个页面上的多部电视剧信息 …………………………………………………………………. 215
10.3.3 模拟“翻页”功能 ………………………………………………………………………………………….. 215
任务实施 ……………………………………………………………………………………………………………………………… 216
任务 10.4 利用 openpyxl 保存爬取的信息 …………………………………………………………………….218
任务分析 ……………………………………………………………………………………………………………………………… 218
知识储备 ……………………………………………………………………………………………………………………………… 219
10.4.1 创建工作簿与工作表 ………………………………………………………………………………………. 219
10.4.2 保存 Excel 数据 ………………………………………………………………………………………………. 220
任务实施 ……………………………………………………………………………………………………………………………… 221
项目总结 ……………………………………………………………………………………………………………………….221
能力检验 ……………………………………………………………………………………………………………………….222
思辨与拓展 ……………………………………………………………………………………………………………………223
模块 11 Pandas 数据分析――绿色低碳,统计分析“碳排放”数据……………224
情景导入 ……………………………………………………………………………………………………………………….224
项目分解 ……………………………………………………………………………………………………………………….225
学习目标 ……………………………………………………………………………………………………………………….225
任务 11.1 读取数据源生成 DataFrame ………………………………………………………………………….225
任务分析 ……………………………………………………………………………………………………………………………… 225
知识储备 ……………………………………………………………………………………………………………………………… 226
11.1.1 Pandas 与 Jupyter Notebook 的安装 ………………………………………………………………….. 226
11.1.2 Pandas 的一维数据结构――Series …………………………………………………………………… 227
11.1.3 Pandas 的二维数据结构――DataFrame ……………………………………………………………. 229
任务实施 ……………………………………………………………………………………………………………………………… 231
任务 11.2 数据预处理和简单查询 ………………………………………………………………………………..232
任务分析 ……………………………………………………………………………………………………………………………… 232
知识储备 ……………………………………………………………………………………………………………………………… 232
11.2.1 查看 DataFrame 的常用属性 …………………………………………………………………………….. 232
11.2.2 数据中重复值、缺失值的处理 ………………………………………………………………………… 233
11.2.3 访问 DataFrame 的数据 ……………………………………………………………………………………. 234
11.2.4 筛选符合条件的数据 ………………………………………………………………………………………. 236
任务实施 ……………………………………………………………………………………………………………………………… 236
任务 11.3 数据的进一步统计分析 ………………………………………………………………………………..237
任务分析 ……………………………………………………………………………………………………………………………… 237
知识储备 ……………………………………………………………………………………………………………………………… 238
11.3.1 排序操作 ………………………………………………………………………………………………………… 238
11.3.2 基本描述性统计 ……………………………………………………………………………………………… 239
11.3.3 灵活的 apply() 方法 …………………………………………………………………………………………. 239
11.3.4 分析结果的保存 ……………………………………………………………………………………………… 240
任务实施 ……………………………………………………………………………………………………………………………… 240
项目总结 ……………………………………………………………………………………………………………………….242
能力检验 ……………………………………………………………………………………………………………………….242
思辨与拓展 ……………………………………………………………………………………………………………………243
模块 12 数据可视化――民族骄傲,绚丽图表再现冬奥盛典………………………245
情景导入 ……………………………………………………………………………………………………………………….245
项目分解 ……………………………………………………………………………………………………………………….246
学习目标 ……………………………………………………………………………………………………………………….246
任务 12.1 绘制 个 Pyecharts 图表 …………………………………………………………………………..246
任务分析 ……………………………………………………………………………………………………………………………… 246
知识储备 ……………………………………………………………………………………………………………………………… 247
12.1.1 数据可视化库 …………………………………………………………………………………………………. 247
12.1.2 Pyecharts 的安装 ……………………………………………………………………………………………… 247
任务实施 ……………………………………………………………………………………………………………………………… 248
任务 12.2 根据北京冬奥会数据绘制柱状图、饼图 ……………………………………………………….250
任务分析 ……………………………………………………………………………………………………………………………… 250
知识储备 ……………………………………………………………………………………………………………………………… 251
12.2.1 为柱状图设置效果 ………………………………………………………………………………………….. 251
12.2.2 绘制饼图 ………………………………………………………………………………………………………… 254
12.2.3 链式调用 ………………………………………………………………………………………………………… 254
任务实施 ……………………………………………………………………………………………………………………………… 255
任务 12.3 根据历届冬奥会数据绘制折线图、分布地图 ………………………………………………..256
任务分析 ……………………………………………………………………………………………………………………………… 256
知识储备 ……………………………………………………………………………………………………………………………… 257
12.3.1 绘制折线图 …………………………………………………………………………………………………….. 257
12.3.2 绘制分布地图 …………………………………………………………………………………………………. 258
任务实施 ……………………………………………………………………………………………………………………………… 258
项目总结 ……………………………………………………………………………………………………………………….260
能力检验 ……………………………………………………………………………………………………………………….260
思辨与拓展 ……………………………………………………………………………………………………………………261
模块 13 Python 与 AI――科技创新,带你认识奇妙的野生动物………………..262
情景导入 ……………………………………………………………………………………………………………………….262
项目分解 ……………………………………………………………………………………………………………………….262
学习目标 ……………………………………………………………………………………………………………………….263
任务 13.1 体验百度 AI 与开发者注册 …………………………………………………………………………..263
任务分析 ……………………………………………………………………………………………………………………………… 263
知识储备 ……………………………………………………………………………………………………………………………… 263
13.1.1 Python 与人工智能 ………………………………………………………………………………………….. 263
13.1.2 体验百度 AI 开放平台 …………………………………………………………………………………….. 263
任务实施 ……………………………………………………………………………………………………………………………… 265
任务 13.2 调用百度接口识别动物 ………………………………………………………………………………..267
任务分析 ……………………………………………………………………………………………………………………………… 267
知识储备 ……………………………………………………………………………………………………………………………… 268
13.2.1 SDK 方式调用百度 AI …………………………………………………………………………………….. 268
13.2.2 API 方式调用百度 AI………………………………………………………………………………………. 269
任务实施 ……………………………………………………………………………………………………………………………… 270
任务 13.3 开发具有图形界面的动物识别程序 ………………………………………………………………271
任务分析 ……………………………………………………………………………………………………………………………… 271
知识储备 ……………………………………………………………………………………………………………………………… 272
13.3.1 Tkinter 简介 ……………………………………………………………………………………………………. 272
13.3.2 生成主窗口 …………………………………………………………………………………………………….. 273
13.3.3 Label 标签 ………………………………………………………………………………………………………. 273
13.3.4 Button 按钮 …………………………………………………………………………………………………….. 274
任务实施 ……………………………………………………………………………………………………………………………… 275
项目总结 ……………………………………………………………………………………………………………………….277
能力检验 ……………………………………………………………………………………………………………………….278
思辨与拓展 ……………………………………………………………………………………………………………………279……………………………………………………………………………………….. 33
2.3.6 运算符优先级 …………………………………………………………………………………………………….. 34
任务实施 ……………………………………………………………………………………………………………………………….. 34
项目小结 …………………………………………………………………………………………………………………………35
能力检验 …………………………………………………………………………………………………………………………36
思辨与拓展 ……………………………………………………………………………………………………………………..37
模块 3 流程控制――逻辑严谨,使用分支与循环评定奖学金………………………38
情景导入 …………………………………………………………………………………………………………………………38
项目分解 …………………………………………………………………………………………………………………………38
学习目标 …………………………………………………………………………………………………………………………39
任务 3.1 使用 if 语句评定单个学生的奖学金 ………………………………………………………………….39
任务分析 ……………………………………………………………………………………………………………………………….. 39
知识储备 ……………………………………………………………………………………………………………………………….. 40
3.1.1 if 单分支语句 ……………………………………………………………………………………………………… 40
3.1.2 避免缩进错误 …………………………………………………………………………………………………….. 41
3.1.3 多个判断条件 …………………………………………………………………………………………………….. 43
3.1.4 if-else 双分支语句 ………………………………………………………………………………………………. 44
3.1.5 if-elif-else 多分支语句…………………………………………………………………………………………. 45
3.1.6 if 语句嵌套 …………………………………………………………………………………………………………. 46
任务实施 ……………………………………………………………………………………………………………………………….. 47
任务 3.2 使用 while/for 循环评定多个学生的奖学金 ………………………………………………………48
任务分析 ……………………………………………………………………………………………………………………………….. 48
知识储备 ……………………………………………………………………………………………………………………………….. 48
3.2.1 while 循环语句 …………………………………………………………………………………………………… 48
3.2.2 for 循环语句……………………………………………………………………………………………………….. 50
3.2.3 循环的嵌套 ………………………………………………………………………………………………………… 52
任务实施 ……………………………………………………………………………………………………………………………….. 53
任务 3.3 循环的控制 break/continue ……………………………………………………………………………….55
任务分析 ……………………………………………………………………………………………………………………………….. 55
知识储备 ……………………………………………………………………………………………………………………………….. 55
3.3.1 break 语句 ………………………………………………………………………………………………………….. 56
3.3.2 continue 语句 ……………………………………………………………………………………………………… 57
任务实施 ……………………………………………………………………………………………………………………………….. 57
项目总结 …………………………………………………………………………………………………………………………58
能力检验 …………………………………………………………………………………………………………………………59
思辨与拓展 ……………………………………………………………………………………………………………………..60
模块 4 函数与模块――爱国护税,编制个人所得税计算器…………………………62
情景导入 …………………………………………………………………………………………………………………………62
项目分解 …………………………………………………………………………………………………………………………62
学习目标 …………………………………………………………………………………………………………………………63
任务 4.1 利用简单函数判断是否需缴个税 ……………………………………………………………………..63
任务分析 ……………………………………………………………………………………………………………………………….. 63
知识储备 ……………………………………………………………………………………………………………………………….. 63
4.1.1 认识函数 ……………………………………………………………………………………………………………. 63
4.1.2 定义并调用简单函数 ………………………………………………………………………………………….. 64
任务实施 ……………………………………………………………………………………………………………………………….. 65
任务 4.2 利用函数计算个税金额 ……………………………………………………………………………………66
任务分析 ……………………………………………………………………………………………………………………………….. 66
知识储备 ……………………………………………………………………………………………………………………………….. 67
4.2.1 普通函数形式 …………………………………………………………………………………………………….. 67
4.2.2 参数的类型 ………………………………………………………………………………………………………… 68
4.2.3 再议 print() 函数 …………………………………………………………………………………………………. 70
4.2.4 变量的作用域 …………………………………………………………………………………………………….. 71
4.2.5 递归函数 ……………………………………………………………………………………………………………. 73
任务实施 ……………………………………………………………………………………………………………………………….. 73
任务 4.3 模块化思想改造程序 ……………………………………………………………………………………….74
任务分析 ……………………………………………………………………………………………………………………………….. 74
知识储备 ……………………………………………………………………………………………………………………………….. 75
4.3.1 内置模块 ……………………………………………………………………………………………………………. 75
4.3.2 第三方模块 ………………………………………………………………………………………………………… 76
4.3.3 自定义模块的创建与使用 …………………………………………………………………………………… 77
4.3.4 包的创建与导入 …………………………………………………………………………………………………. 77
任务实施 ……………………………………………………………………………………………………………………………….. 79
项目总结 …………………………………………………………………………………………………………………………80
能力检验 …………………………………………………………………………………………………………………………81
思辨与拓展 ……………………………………………………………………………………………………………………..82
模块 5 字符串的处理――璀璨文明,字符间领略古诗恢宏篇章…………………….84
情景导入 …………………………………………………………………………………………………………………………84
项目分解 …………………………………………………………………………………………………………………………84
学习目标 …………………………………………………………………………………………………………………………85
任务 5.1 字符串的基本操作 …………………………………………………………………………………………..85
任务分析 ……………………………………………………………………………………………………………………………….. 85
知识储备 ……………………………………………………………………………………………………………………………….. 85
5.1.1 字符串的标识方式 ……………………………………………………………………………………………… 85
5.1.2 字符串的索引 …………………………………………………………………………………………………….. 87
5.1.3 字符串的切片 …………………………………………………………………………………………………….. 88
5.1.4 字符串的拼接与复写 ………………………………………………………………………………………….. 89
5.1.5 in 与 not in 运算 ………………………………………………………………………………………………….. 90
任务实施 ……………………………………………………………………………………………………………………………….. 90
任务 5.2 字符串格式化输出 …………………………………………………………………………………………..91
任务分析 ……………………………………………………………………………………………………………………………….. 91
知识储备 ……………………………………………………………………………………………………………………………….. 92
5.2.1 使用 % 格式符格式化字符串 ………………………………………………………………………………. 92
5.2.2 使用 format() 函数格式化字符串 …………………………………………………………………………. 93
5.2.3 使用 f-string 格式化字符串 …………………………………………………………………………………. 93
任务实施 ……………………………………………………………………………………………………………………………….. 93
任务 5.3 字符串的常用方法 …………………………………………………………………………………………..94
任务分析 ……………………………………………………………………………………………………………………………….. 94
知识储备 ……………………………………………………………………………………………………………………………….. 95
5.3.1 统计字符串中某子串出现的次数 ………………………………………………………………………… 95
5.3.2 字符串的查找与替换 ………………………………………………………………………………………….. 96
5.3.3 删除字符串的 字符 ………………………………………………………………………………………. 97
5.3.4 字符串的切分 …………………………………………………………………………………………………….. 97
5.3.5 字符串是否满足特定条件 …………………………………………………………………………………… 98
任务实施 ……………………………………………………………………………………………………………………………….. 99
项目总结 ……………………………………………………………………………………………………………………….100
能力检验 ……………………………………………………………………………………………………………………….100
思辨与拓展 ……………………………………………………………………………………………………………………101
模块 6 列表与元组――公平公正,处理校园歌手大赛评分………………………. 105
情景导入 ……………………………………………………………………………………………………………………….105
项目分解 ……………………………………………………………………………………………………………………….105
学习目标 ……………………………………………………………………………………………………………………….106
任务 6.1 利用列表 list 处理选手名单 ……………………………………………………………………………106
任务分析 ……………………………………………………………………………………………………………………………… 106
知识储备 ……………………………………………………………………………………………………………………………… 107
6.1.1 初识列表 list …………………………………………………………………………………………………….. 107
6.1.2 访问列表元素 …………………………………………………………………………………………………… 107
6.1.3 修改列表元素 …………………………………………………………………………………………………… 108
6.1.4 添加新元素 ………………………………………………………………………………………………………. 108
6.1.5 删除列表元素 …………………………………………………………………………………………………… 109
任务实施 ……………………………………………………………………………………………………………………………….111
任务 6.2 计算参赛选手 终得分 ………………………………………………………………………………….112
任务分析 ……………………………………………………………………………………………………………………………… 112
知识储备 ……………………………………………………………………………………………………………………………… 112
6.2.1 查找元素位置 …………………………………………………………………………………………………… 112
6.2.2 列表切片操作 …………………………………………………………………………………………………… 113
6.2.3 sort() 排序…………………………………………………………………………………………………………. 113
6.2.4 reverse() 反转方法 …………………………………………………………………………………………….. 113
6.2.5 遍历列表元素 …………………………………………………………………………………………………… 114
6.2.6 列表推导式 ………………………………………………………………………………………………………. 114
6.2.7 其他常见列表操作 ……………………………………………………………………………………………. 115
任务实施 ……………………………………………………………………………………………………………………………… 116
任务 6.3 结合元组 Tuple 确定选手排名 ………………………………………………………………………..117
任务分析 ……………………………………………………………………………………………………………………………… 117
知识储备 ……………………………………………………………………………………………………………………………… 117
6.3.1 创建并访问元组 ……………………………………………………………………………………………….. 117
6.3.2 元组与小括号 …………………………………………………………………………………………………… 118
6.3.3 列表、元组的嵌套 ……………………………………………………………………………………………. 119
6.3.4 关于序列的内置函数 ………………………………………………………………………………………… 120
任务实施 ……………………………………………………………………………………………………………………………… 122
项目总结 ……………………………………………………………………………………………………………………….123
能力检验 ……………………………………………………………………………………………………………………….123
思辨与拓展 ……………………………………………………………………………………………………………………124
模块 7 字典与集合――学以致用,编写“自动售货机”程序……………………. 125
情景导入 ……………………………………………………………………………………………………………………….125
项目分解 ……………………………………………………………………………………………………………………….125
学习目标 ……………………………………………………………………………………………………………………….126
任务 7.1 借助 dict 实现前台结算 ………………………………………………………………………………….126
任务分析 ……………………………………………………………………………………………………………………………… 126
知识储备 ……………………………………………………………………………………………………………………………… 127
7.1.1 创建字典 ………………………………………………………………………………………………………….. 127
7.1.2 访问字典 ………………………………………………………………………………………………………….. 128
7.1.3 字典元素的增加与修改 …………………………………………………………………………………….. 128
7.1.4 字典元素的删除 ……………………………………………………………………………………………….. 129
7.1.5 遍历字典 ………………………………………………………………………………………………………….. 130
任务实施 ……………………………………………………………………………………………………………………………… 131
任务 7.2 结合 set 完成商品管理 ……………………………………………………………………………………132
任务分析 ……………………………………………………………………………………………………………………………… 132
知识储备 ……………………………………………………………………………………………………………………………… 133
7.2.1 创建集合 ………………………………………………………………………………………………………….. 133
7.2.2 访问集合元素 …………………………………………………………………………………………………… 134
7.2.3 添加集合元素 …………………………………………………………………………………………………… 134
7.2.4 删除集合元素 …………………………………………………………………………………………………… 135
7.2.5 集合的其他操作 ……………………………………………………………………………………………….. 136
任务实施 ……………………………………………………………………………………………………………………………… 136
任务 7.3 高阶函数处理商品售价 ………………………………………………………………………………….138
任务分析 ……………………………………………………………………………………………………………………………… 138
知识储备 ……………………………………………………………………………………………………………………………… 138
7.3.1 可变参数与关键字参数 …………………………………………………………………………………….. 139
7.3.2 匿名函数 ………………………………………………………………………………………………………….. 140
7.3.3 map() 函数 ………………………………………………………………………………………………………… 140
7.3.4 filter() 函数 ……………………………………………………………………………………………………….. 142
7.3.5 sorted() 函数 ……………………………………………………………………………………………………… 142
任务实施 ……………………………………………………………………………………………………………………………… 143
项目小结 ……………………………………………………………………………………………………………………….144
能力检验 ……………………………………………………………………………………………………………………….144
思辨与拓展 ……………………………………………………………………………………………………………………145
模块 8 文件的操作――精益求精,不断完善“菜鸟记单词”程序……………….. 146
情景导入 ……………………………………………………………………………………………………………………….146
项目分解 ……………………………………………………………………………………………………………………….146
学习目标 ……………………………………………………………………………………………………………………….147
任务 8.1 读写文件,编写“菜鸟记单词 V1.0” ……………………………………………………………147
任务分析 ……………………………………………………………………………………………………………………………… 147
知识储备 ……………………………………………………………………………………………………………………………… 148
8.1.1 打开文件 ………………………………………………………………………………………………………….. 148
8.1.2 文件对象的常用方法 ………………………………………………………………………………………… 149
8.1.3 使用 read() 方法读取文件 ………………………………………………………………………………….. 150
8.1.4 使用 readline() 方法读取文件 …………………………………………………………………………….. 151
8.1.5 使用 readlines() 方法读取文件 …………………………………………………………………………… 151
8.1.6 关闭文件 ………………………………………………………………………………………………………….. 152
8.1.7 使用 write() 方法写入文件 ………………………………………………………………………………… 152
8.1.8 使用 writelines() 方法写入文件 ………………………………………………………………………….. 154
任务实施 ……………………………………………………………………………………………………………………………… 154
任务 8.2 加入异常处理,优化“菜鸟记单词 V2.0” …………………………………………………….156
任务分析 ……………………………………………………………………………………………………………………………… 156
知识储备 ……………………………………………………………………………………………………………………………… 157
8.2.1 错误与异常 ………………………………………………………………………………………………………. 157
8.2.2 try-except 语句 ………………………………………………………………………………………………….. 158
8.2.3 常见的异常 ………………………………………………………………………………………………………. 159
8.2.4 捕获多种异常 …………………………………………………………………………………………………… 160
8.2.5 else 子句 …………………………………………………………………………………………………………… 161
8.2.6 finally 子句 ……………………………………………………………………………………………………….. 162
任务实施 ……………………………………………………………………………………………………………………………… 162
任务 8.3 借助 pickle 模块,完成“菜鸟记单词 V3.0” …………………………………………………164
任务分析 ……………………………………………………………………………………………………………………………… 164
知识储备 ……………………………………..

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Python程序设计项目教程――从入门到实践》
Article link:https://www.teccses.org/1439626.html