Python程序设计任务驱动式教程(微课版)(第2版)

“十四五”职业教育国家规划教材;工业和信息化部“十四五”规划教材;编程基础
分享 推荐 0 收藏 2 阅读 94
汤梦姣 (编著) 陈承欢 (作者) 978-7-115-65580-6

关于本书的内容有任何问题,请联系 顾梦宇

1. 精心规划 12 个教学单元,分层次讲解
2. 电子活页呈现代码和拓展知识,配套微课视频等立体化教学资源
3. 构建包含 960 道题的系统化、在线式测试题库

内容摘要

本书将Python程序设计的知识按由易到难、由浅入深的规律精心设计为12个模块,包括程序开发环境构建与数据输入/输出,基本数据类型与运算符应用,逻辑运算与流程控制,序列数据与正则表达式操作,函数应用与模块化程序设计,类定义与使用,文件、文件夹操作与异常处理,数据库访问与使用,网络编程与进程控制,基于GUI框架的图形界面设计与网络爬虫应用,基于Flask框架的Web程序设计,基于Django框架的Web程序设计。每个模块的学习任务都分为4个层次:知识入门、循序渐进、知识拓展和知识测验。本书配套丰富的电子活页,深化知识讲解,提供代码示例。本书还构建了Python程序设计的在线测试题库,题库中的习题覆盖12个模块的重要知识点和技能点。
本书适合作为高等院校“Python程序设计”课程的教材,也可供对Python程序设计感兴趣的读者自学参考。

目录

模块1 程序开发环境构建与数据输入/输出 1
知识入门 1
循序渐进 2
1.1 搭建Python开发环境与使用IDLE编写Python程序 2
1.1.1 搭建Python开发环境 2
1.1.2 使用IDLE编写简单的Python程序 4
【任务1-1】输出“Happy to learn Python Programming”的信息 5
1.2 测试PyCharm开发环境与编写简单的Python程序 6
1.2.1 测试PyCharm开发环境 6
1.2.2 编写简单的Python程序 11
【任务1-2】输出“你好,请登录” 14
1.3 Python程序的基本组成 16
1.3.1 Python程序的基本要素 16
1.3.2 Python程序的注释 17
【任务1-3】编写程序计算并输出金额 18
1.4 print()函数的基本用法 19
1.5 input()函数的基本用法 20
【任务1-4】编写程序,模拟实现“京东秒杀”界面的文字内容 21
【任务1-5】模拟以表格方式输出商品数据列表 21
知识拓展 22
知识测验 22
模块2 基本数据类型与运算符应用 23
知识入门 23
循序渐进 25
2.1 Python 3的数据类型 25
2.1.1 Python 3的基本数据类型 25
2.1.2 Python 3的数值类型 25
2.1.3 Python 3数据类型的判断 26
2.1.4 Python数据类型的转换 27
2.2 Python的算术运算符及其应用 27
2.2.1 Python算术运算符及其运算优先级 27
2.2.2 Python算术表达式 28
2.3 Python的赋值运算符与变量 29
2.3.1 Python的赋值运算符 29
2.3.2 变量定义和赋值 30
2.3.3 使用del语句删除对象引用 32
【任务2-1】计算并输出购买商品的实付总额与平均价格等数据 33
2.4 Python 3的日期时间函数 33
2.4.1 时间元组 33
2.4.2 time模块 34
2.4.3 datetime模块 36
【任务2-2】输出当前日期和时间 36
【任务2-3】计算与输出购买商品的实付总额等数据 37
知识拓展 38
知识测验 38
模块3 逻辑运算与流程控制 39
知识入门 39
循序渐进 40
3.1 Python的比较运算符及其应用 40
3.1.1 Python的比较运算符与比较表达式 40
3.1.2 逻辑值测试 40
【任务3-1】应用比较运算符设置查询条件表达式 41
3.2 Python的逻辑运算符及其应用 42
3.2.1 Python的逻辑运算符与逻辑表达式 42
3.2.2 Python运算符优先级 42
【任务3-2】应用比较运算符与逻辑运算符设置条件表达式 44
3.3 Python的选择结构及其应用 44
3.3.1 if语句及其应用 45
【任务3-3】应用if语句实现用户登录 46
3.3.2 if…else语句及其应用 46
【任务3-4】应用if…else语句实现用户登录 47
3.3.3 if…elif…else语句及其应用 47
【任务3-5】应用if…elif…else语句计算分期付款的服务费 48
3.3.4 if语句的嵌套结构 49
【任务3-6】应用if选择语句计算网上购物的运费与优惠金额等 50
【任务3-7】应用if选择语句验证用户名和密码实现登录 51
3.4 for循环语句及其应用 52
3.4.1 for循环语句 52
3.4.2 for…else语句 53
【任务3-8】应用for循环语句显示进度的百分比 54
3.5 while循环语句及其应用 55
3.5.1 while循环语句 55
3.5.2 while…else语句 56
3.5.3 循环中的跳转语句 56
【任务3-9】应用while循环语句实现网上抢购倒计时功能 59
【任务3-10】综合应用循环结构的嵌套结构实现倒计时功能 60
知识拓展 60
知识测验 61
模块4 序列数据与正则表达式操作 62
知识入门 62
循序渐进 65
4.1 列表的创建与应用 65
4.1.1 创建列表 65
4.1.2 访问列表元素 66
4.1.3 截取列表 67
4.1.4 连接与重复列表 68
4.1.5 修改与添加列表元素 69
4.1.6 删除列表元素 70
4.1.7 列表运算符 71
4.1.8 列表的内置函数与基本方法 71
【任务4-1】遍历列表 73
4.2 元组的创建与应用 74
4.2.1 创建元组 74
4.2.2 访问元组元素 75
4.2.3 截取元组 76
4.2.4 连接与重复元组 76
4.2.5 修改元组元素 76
4.2.6 删除元组元素 77
4.2.7 元组运算符 77
4.2.8 元组的内置函数与基本方法 78
【任务4-2】遍历元组 79
4.3 字典的创建与应用 80
4.3.1 创建字典 80
4.3.2 访问字典元素 82
4.3.3 修改与添加字典元素 82
4.3.4 删除字典元素 83
4.3.5 字典的内置函数与基本方法 84
【任务4-3】遍历字典 85
【任务4-4】综合应用列表、元组、字典输出商品信息与商品详情 86
4.4 集合的创建与应用 86
4.4.1 创建集合 86
4.4.2 添加集合元素 87
4.4.3 删除集合元素 87
4.4.4 集合的内置函数与基本方法 89
4.4.5 集合运算 91
【任务4-5】遍历集合 91
4.5 字符串的常用方法及其应用 92
4.5.1 创建字符串 92
4.5.2 访问字符串中的值 92
4.5.3 截取字符串 93
4.5.4 连接与重复字符串 94
4.5.5 修改与添加字符串中的字符 96
4.5.6 字符串运算符 96
4.5.7 字符串常用的内置函数与基本方法 97
【任务4-6】应用字符串的方法实现字符串翻转操作 100
4.6 字符串的格式化输出 101
4.6.1 format()的基本格式 101
4.6.2 format()方法的参数序号 101
【任务4-7】使用format()方法格式化输出字符串列表 102
4.7 正则表达式及其应用 102
4.7.1 Python的正则表达式 103
4.7.2 模式字符串的组成字符 103
4.7.3 re模块的贪婪匹配和非贪婪匹配 105
4.8 使用re模块实现正则表达式操作 105
4.8.1 re模块及其主要功能函数 105
4.8.2 re.compile()函数与正则表达式对象 111
【任务4-8】验证E-mail地址的有效性 112
【任务4-9】应用正则表达式检测密码是否符合设定的规则和判断密码的强度等级 113
知识拓展 114
知识测验 115
模块5 函数应用与模块化程序设计 116
知识入门 116
循序渐进 117
5.1 Python数学函数的应用 117
5.1.1 Python数学常量 117
5.1.2 Python常用数学运算函数 117
【任务5-1】编写程序绘制爱心 118
5.2 Python函数的定义与调用 119
5.2.1 定义函数 119
5.2.2 调用函数 120
【任务5-2】应用日期时间函数实现倒计时功能 121
【任务5-3】定义函数计算总金额、优惠金额和实付金额等 122
5.3 Python函数参数 122
5.3.1 Python函数的参数传递 122
5.3.2 Python函数参数类型 124
【任务5-4】自定义函数应用多种方法对齐输出图书数据 129
5.4 变量的作用域 130
5.5 Python的模块创建与导入 131
5.5.1 创建模块 131
5.5.2 导入模块 132
5.5.3 导入与使用Python的标准模块 135
5.5.4 使用内置函数dir() 136
5.5.5 __name__属性与主程序执行 136
【任务5-5】编写程序自定义模块与函数格式输出商品信息 137
5.6 Python中创建与使用包 138
5.6.1 创建包 138
5.6.2 使用包 140
知识拓展 141
知识测验 145
模块6 类定义与使用 146
知识入门 146
循序渐进 149
6.1 创建类及其对象 149
6.1.1 定义类 149
6.1.2 创建类的实例 149
6.2 类属性与实例属性 150
6.3 实例方法、类方法与静态方法 153
6.3.1 实例方法 153
6.3.2 类方法 153
6.3.3 静态方法 155
【任务6-1】定义商品类及其成员与访问属性 155
【任务6-2】修改与输出类属性、实例属性 157
【任务6-3】定义与访问类的实例方法 160
【任务6-4】定义与访问类方法、实例方法和静态方法 160
6.4 类的构造方法与析构方法 161
6.4.1 类的构造方法 162
6.4.2 类的析构方法 163
【任务6-5】定义与调用类的构造方法 163
6.5 类的继承、方法的继承和重写 165
6.5.1 类的继承 165
6.5.2 方法的继承 167
6.5.3 方法的重写 167
【任务6-6】定义类Commodity和子类Book及其成员 168
6.6 命名空间与类成员的访问限制 169
6.6.1 Python 3的命名空间和作用域 169
6.6.2 类成员的访问限制 175
【任务6-7】完整定义与使用1个父类(Commodity)和2个子类(Book、Handset) 178
知识拓展 180
知识测验 182
模块7 文件、文件夹操作与异常处理 183
知识入门 183
循序渐进 186
7.1 打开与关闭文件 186
7.1.1 使用open()方法打开文件 186
7.1.2 使用close()方法关闭文件 187
7.1.3 打开文件时使用with语句 188
7.2 读取与写入文件内容 188
7.2.1 文件对象 188
7.2.2 移动文件的当前位置 189
7.2.3 读取文件 189
7.2.4 向文件中写入内容 191
【任务7-1】打开并读取文件内容的全部行 192
【任务7-2】实现文件内容的写入与读取 193
【任务7-3】以二进制形式打开文件并读取其内容 194
【任务7-4】通过移动文件指针的方法读取指定字符 195
7.3 创建与操作文件、文件夹 195
7.3.1 创建文件夹 195
7.3.2 针对文件夹的操作 197
7.3.3 创建文件 198
7.3.4 针对文件的操作 198
【任务7-5】以多种方式创建文件夹与文件 199
7.4 删除文件和文件夹 200
7.4.1 删除文件 200
7.4.2 删除文件夹 200
【任务7-6】以多种方式删除文件夹与文件 201
【任务7-7】实现文件复制、重命名、信息输出功能 202
7.5 异常处理语句 202
7.5.1 try…except语句 203
7.5.2 try…except…else语句 204
7.5.3 try…except…finally语句 205
7.5.4 使用raise语句抛出异常 206
知识拓展 207
知识测验 207
模块8 数据库访问与使用 208
知识入门 208
循序渐进 209
8.1 创建与使用SQLite数据表 209
8.1.1 创建SQLite数据库文件与数据表 209
8.1.2 操作SQLite数据库 210
【任务8-1】创建、新增、查询、删除SQLite数据表 213
【任务8-2】查询、更新、删除用户表中的数据 214
8.2 创建与使用MySQL数据表 215
8.2.1 连接MySQL数据库 215
8.2.2 创建MySQL数据表 216
8.2.3 MySQL数据表插入操作 217
8.2.4 MySQL数据表查询操作 218
8.2.5 MySQL数据表更新操作 219
8.2.6 MySQL数据表删除操作 219
【任务8-3】创建books数据表并显示数据表的结构信息 220
【任务8-4】在books数据表中批量添加多条记录 221
【任务8-5】自定义函数实现MySQL数据表新增、修改、删除与查询的综合操作 221
知识拓展 222
知识测验 222
模块9 网络编程与进程控制 223
知识入门 223
循序渐进 225
9.1 认知Socket 225
9.2 创建TCP服务器程序与客户端程序 228
【任务9-1】实现客户端与服务器之间的通信 231
【任务9-2】TCP服务器与客户端之间传输字符串数据 233
9.3 创建UDP服务器程序和客户端程序 234
【任务9-3】建立UDP通信获取客户购物数量 235
9.4 创建与使用进程 237
9.4.1 使用multiprocessing模块的Process类创建进程 237
9.4.2 使用Process的子类创建进程 238
9.4.3 验证进程之间能否直接共享数据 239
9.5 创建与使用线程 240
9.5.1 Python 3的多线程 240
9.5.2 Python 3支持的线程模块 240
9.5.3 Python中创建线程的方式 241
9.5.4 验证线程之间能否直接共享数据 243
【任务9-4】使用多线程模拟生成与读取日志文件 244
知识拓展 245
知识测验 246
模块10 基于GUI框架的图形界面设计与网络爬虫应用 247
知识入门 247
循序渐进 248
10.1 使用wxPython框架设计图形用户界面 248
10.1.1 直接使用wx.App类创建可视化窗口 248
10.1.2 wx.Frame框架 248
10.1.3 wxPython的常用控件 249
10.1.4 BoxSizer布局 252
10.1.5 事件处理 254
【任务10-1】使用wxPython框架结合SQLite3数据库设计图形用户登录界面 254
10.2 使用PyQt5框架设计图形用户界面 258
【任务10-2】在窗口的QListView控件中显示现有数据表中销量前10名的图书名称列表 261
【任务10-3】窗口中以表格方式展示计算机与互联网图书销量排行榜 261
10.3 Python网络爬虫 262
10.3.1 Python爬虫获取数据的基本流程 262
10.3.2 robots协议 263
10.3.3 网络爬虫引发的问题 263
【任务10-4】网络图片抓取和存储 263
知识拓展 264
知识测验 265
模块11 基于Flask框架的Web程序设计 266
知识入门 266
循序渐进 267
11.1 创建与运行Flask程序 267
11.1.1 在PyCharm中安装Flask软件包 267
11.1.2 创建简单的Flask程序 268
11.1.3 开启调试模式 269
11.2 路由 270
11.2.1 访问路径 270
11.2.2 路径变量 270
11.2.3 构造URL 271
11.2.4 HTTP方法 272
11.3 静态文件与模板生成 272
11.3.1 静态文件 272
11.3.2 Flask模板生成 273
【任务11-1】在网页中显示文本信息与展示图片 274
【任务11-2】基于Flask框架设计简单用户登录程序 277
知识拓展 279
知识测验 280
模块12 基于Django框架的Web程序设计 281
知识入门 281
循序渐进 283
12.1 创建Django项目与App 283
12.1.1 在PyCharm中创建Django项目 283
12.1.2 在settings.py文件中对Django项目进行多项配置 286
12.1.3 在Django项目中创建App 288
12.2 Django模板 290
【任务12-1】基于Django框架设计用户登录程序 291
【任务12-2】基于Django框架设计图书销量榜和图书详情数据展示程序 293
知识拓展 297
知识测验 299
参考文献 300

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

陈承欢,三级教授,高级工程师,软件设计师,湖南省省级专业带头人,湖南省青年骨干教师,武汉大学软件工程专业,湖南铁道职业技术学院教务处处长。2008年,曾赴澳大利亚坎培门理工学院培训交流,2015年,曾赴加拿大圣力嘉学院培训交流,2019年,曾赴英国、德国学习交流。主持开发职业教育特色教材50多本,其中国家级“十一五”规划教材4本,国家级“十二五”规划教材10本,国家级“十三五”规划教材7本。国家精品课程与国家精品共享课程配套教材1本,国家职业教育资源库配套教材3本。主持《网页设计与制作》国家精品课程,主持《网页设计与制作》国家精品共享课程,主持《计算机维护与维修》、《实用工具软件应用》、《网页样式设计》3门国家资源库课程。国家级教学成果奖二等奖1项,湖南省职业教育教学成果奖特等奖1项、三等奖1项,湖南省教育教学改革发展优秀成果奖参等奖1项。

相关图书

  • C语言程序设计基础(微课版)

    张宁

    本书是程序设计基础类教材,旨在面向零基础初学者(特别是非计算机相关专业的读者)讲解C语言程序设计相关知识。主要...

    ¥79.80
  • Java基础案例教程(第3版)

    本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...

    ¥59.80
  • Java程序设计教程 (任务驱动式)

    靳启健 陈承欢

    本书对Java程序设计的相关内容进行系统化设计,形成9个模块,分别是搭建Java开发环境与输出文本信息程序设计...

    ¥69.80
  • 鲲鹏应用开发与迁移

    华为技术有限公司 胡文心 杨静 周清平 聂明 马力 李光荣

    本书以鲲鹏应用开发与迁移为主线,分为3篇,包括概述篇、开发篇和迁移篇。本书共8章,分别为鲲鹏生态与解决方案、应...

    ¥59.80
  • Java Web开发从入门到实战

    蒋亚平

    本书从初学者角度出发,通过丰富的案例,循序渐进地介绍了关于Java Web应用程序开发的基本技术,同时介绍了V...

    ¥69.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部