本教材采用新型活页式教材方式编写,以项目引领任务驱动方式进行细化和落实,根据高职学生的学习特点,让学生在通俗易懂的项目中完成 Python 编程的基本语法和用法,提高学生的学习兴趣,由浅入深地引导学生全面系统地掌握 Python 编程技术,提高学生的学习兴趣,扩展学生的学习思维,训练学生的动手能力和自学能力。也为学生进一步学习网络编程、大数据、人工智能等新技术打下基础。本书分10个项目深入阐述了Python语言基础语法及应用,内容包括Python语言及编程环境、Python基本语法、条件控制语句、循环流程控制、Python特征数据类型、函数、目录和文件、错误和异常、面向对象的程序设计、正则表达式。
傅彬,男,副教授,2002.8-2010.7 浙江育英职业技术学院 实验中心主任;2010.8-至今 绍兴职业技术学院 信息工程学院副院长,主要教授Python程序设计基础、人工智能通识课等。
项目1 Python语言及编程环境 1
任务1.1 认识Python 2
任务1.2 为什么学习Python 3
1.2.1 Python的优势 3
1.2.2 Python的特点 3
1.2.3 Python的应用领域 4
1.2.4 Python的就业前景 7
任务1.3 如何学习Python 8
任务1.4 在不同操作系统中搭建Python编程环境 10
1.4.1 在Linux系统中搭建Python编程环境 10
1.4.2 在macOS系统中搭建Python编程环境 12
1.4.3 在Windows系统中搭建Python编程环境 12
任务1.5 运行Python程序 15
任务1.6 使用VSCode与AI编程助手进行开发 16
1.6.1 安装与初步配置VSCode 16
1.6.2 安装Python扩展 17
1.6.3 使用VSCode编写和运行Python程序 18
任务1.7 PyCharm的使用 20
1.7.1 首次运行与简单配置 20
1.7.2 创建并运行项目 21
1.7.3 PyCharm的智能和调试功能 24
任务1.8 PyCharm的常用设置 24
1.8.1 设置配色方案 24
1.8.2 设置编辑器字号 25
1.8.3 设置中文 26
1.8.4 安装第三方插件包 26
【知识拓展】 27
【进阶练习】 27
【课后作业】 28
项目2 Python基本语法 30
任务2.1 Python的语法规则 31
2.1.1 注释 31
2.1.2 缩进 33
2.1.3 空格与空行 33
任务2.2 标识符与保留字 35
2.2.1 标识符 36
2.2.2 变量赋值 37
2.2.3 保留字 39
任务2.3 基本数据类型 39
2.3.1 数值 40
2.3.2 字符串 41
2.3.3 布尔值 43
2.3.4 数据类型转换 44
任务2.4 运算符 45
2.4.1 算术运算符 46
2.4.2 关系运算符 47
2.4.3 赋值运算符 48
2.4.4 逻辑运算符 48
2.4.5 成员运算符 49
任务2.5 输入/输出语句 49
2.5.1 输出语句print() 50
2.5.2 输入语句input() 51
【知识拓展】 52
【进阶练习】 56
【课后作业】 59
项目3 条件控制语句——简易计算器 61
任务3.1 项目思路分析 62
任务3.2 接收从键盘输入的数字和运算符 64
3.2.1 使用input()函数获取用户输入 64
3.2.2 数据类型转换 64
3.2.3 输入可靠性考量 65
任务3.3 判断运算符并进行算术运算 66
3.3.1 单分支条件语句 66
3.3.2 双分支条件语句 67
3.3.3 多分支条件语句 67
任务3.4 设置简易计算器的计算上下限 69
3.4.1 增强用户交互 69
3.4.2 判断字符个数 70
任务3.5 带数字检测的简易计算器 72
3.5.1 字符串测试方法 72
3.5.2 嵌套条件语句 73
3.5.3 eval()函数 75
3.5.4 字符串的数字检测 75
【知识拓展】 78
【进阶练习】 79
【课后作业】 80
项目4 循环流程控制——成语接龙 83
任务4.1 思路分析 84
任务4.2 循环输入成语 85
4.2.1 while循环 86
4.2.2 for循环 87
4.2.3 range()函数 87
4.2.4 成语接龙中的循环输入 88
任务4.3 检查成语首尾字 89
4.3.1 字符串索引回顾 90
4.3.2 首尾字检查的实现 90
4.3.3 知识点补充:字符串索引的灵活运用 91
任务4.4 结束游戏 92
4.4.1 break语句 92
4.4.2 continue语句 92
4.4.3 带计数和退出功能的成语接龙 93
任务4.5 检查重复成语 95
4.5.1 检查重复的方法 95
4.5.2 在成语接龙中实现重复检查 96
4.5.3 进一步思考 98
【知识拓展】 98
【进阶练习】 105
【课后作业】 106
项目5 Python特征数据类型——动物分拣器 110
任务5.1 思路分析 111
任务5.2 列表的基本用法 112
5.2.1 创建列表 113
5.2.2 列表索引 113
5.2.3 列表切片 113
5.2.4 列表的循环遍历 114
5.2.5 添加列表元素 115
5.2.6 列表元素修改 116
5.2.7 删除列表元素 117
5.2.8 查询列表元素 118
5.2.9 统计列表元素 119
5.2.10 列表排序 119
任务5.3 元组的基本用法 120
5.3.1 元组的创建 121
5.3.2 元组元素的访问 121
5.3.3 元组的遍历 122
5.3.4 元组的删除和合并 122
5.3.5 元组与列表的转换 122
5.3.6 元组的应用场景 123
任务5.4 字典的基本用法 123
5.4.1 创建字典 124
5.4.2 字典元素的访问、修改和添加 124
5.4.3 字典及字典元素的删除 125
5.4.4 字典的遍历 126
5.4.5 字典的常用方法 127
任务5.5 创建动物圈养场所 128
5.5.1 初始化圈养场所 128
5.5.2 访问和修改圈舍数量 128
5.5.3 处理新动物种类 129
5.5.4 使用get()方法简化操作 129
5.5.5 使用setdefault()方法 129
任务5.6 制作分拣器 130
5.6.1 随机数模块简介 130
5.6.2 使用随机索引法分拣 130
5.6.3 使用random.choice()方法分拣 131
5.6.4 优化代码——使用字典直接操作 132
5.6.5 验证分拣结果 132
任务5.7 扩大或减小圈养场所 133
5.7.1 扩大圈养场所——增加新动物种类 133
5.7.2 减小圈养场所——删除数量为0的圈舍 134
5.7.3 清空所有圈舍 135
5.7.4 综合案例:带交互的圈舍管理 135
【知识拓展】 136
【进阶练习】 145
【课后作业】 146
项目6 函数——超市会员管理系统 149
任务6.1 思路分析 150
任务6.2 函数的基本用法 152
6.2.1 什么是函数 152
6.2.2 函数的定义 153
6.2.3 函数的调用 153
6.2.4 函数的参数 154
6.2.5 匿名函数 155
任务6.3 实现主函数 156
6.3.1 功能设计 156
6.3.2 数据存储设计 157
任务6.4 显示主菜单 159
6.4.1 菜单函数的设计 159
6.4.2 函数调用与返回值 159
6.4.3 函数的返回值与return语句 160
任务6.5 查询会员信息 160
6.5.1 功能需求分析 160
6.5.2 实现思路 160
6.5.3 代码实现 161
任务6.6 添加会员信息 161
任务6.7 修改会员信息 163
任务6.8 删除会员信息 164
任务6.9 显示会员信息 164
【知识拓展】 168
【进阶练习】 174
【课后作业】 174
项目7 目录和文件——批量操作 178
任务7.1 思路分析 179
任务7.2 文件的基本操作 181
7.2.1 文件的打开 181
7.2.2 文件的关闭 182
7.2.3 上下文管理语句with 182
7.2.4 文件的读取 182
7.2.5 文件的写入 185
7.2.6 文件的定位 186
任务7.3 目录的基本操作 188
任务7.4 获取所有包含内容A的文本文件 190
任务7.5 复制文件并重命名 194
任务7.6 检查文件是否被修改 195
任务7.7 删除重复文件 198
任务7.8 JSON格式文件操作 199
7.8.1 JSON格式简介 199
7.8.2 json模块的核心函数 200
任务7.9 XML格式文件操作 201
7.9.1 XML格式简介 202
7.9.2 ElementTree模块的基本使用 202
【知识拓展】 206
【进阶练习】 207
【课后作业】 209
项目8 错误和异常 211
任务8.1 语法错误的识别与处理 212
任务8.2 捕捉异常 214
任务8.3 异常处理 216
【知识拓展】 221
【进阶练习】 223
【课后作业】 225
项目9 面向对象的程序设计 227
任务9.1 面向过程和面向对象的区别 228
9.1.1 两种编程思想概述 229
9.1.2 面向过程编程的特点 229
9.1.3 面向对象编程的特点 229
9.1.4 两种思想的对比 230
9.1.5 为什么需要面向对象编程 230
任务9.2 面向对象编程的基本特征 231
9.2.1 封装——保护数据的安全 231
9.2.2 继承——实现代码的复用 232
9.2.3 多态——同一接口,多种形态 233
9.2.4 三大特征的关系与意义 234
任务9.3 创建类和对象 234
9.3.1 构造方法__init__ 234
9.3.2 self参数的含义 235
9.3.3 实例变量与类变量 235
9.3.4 创建多个对象 236
9.3.5 构造方法中的默认参数 236
任务9.4 类的继承 237
9.4.1 继承的基本概念 238
9.4.2 继承的基本使用 238
9.4.3 方法重写 239
9.4.4 调用父类的方法 239
9.4.5 多重继承 240
9.4.6 继承的层次与 isinstance() 函数 240
任务9.5 类的私有变量和私有方法 241
9.5.1 私有变量的定义 242
9.5.2 私有方法 242
9.5.3 为什么要使用私有成员 243
9.5.4 名称修饰的实质 243
9.5.5 私有成员与继承 244
任务9.6 类的属性方法 245
9.6.1 @property的基本用法 245
9.6.2 定义可读/写属性 245
9.6.3 定义删除属性 246
9.6.4 为什么使用属性方法 247
9.6.5 实际应用:银行账户余额控制 247
【知识拓展】 248
【进阶练习】 250
【课后作业】 251
项目10 正则表达式 253
任务10.1 正则表达式简介 254
任务10.2 正则表达式的使用 257
任务10.3 带数字检测的简易计算器 259
【知识拓展】 261
【进阶练习】 262
【课后作业】 263
项目11 数据分析与可视化——销售数据分析看板 265
任务11.1 思路分析 266
任务11.2 使用Pandas处理数据 267
11.2.1 安装与导入 267
11.2.2 读取数据 268
11.2.3 数据探索 271
11.2.4 数据清洗 273
任务11.3 数据分组与统计 275
任务11.4 数据可视化 277
任务11.5 构建销售数据分析看板 278
【知识拓展】 279
【进阶练习】 282
【课后作业】 282
项目12 Python在AI领域的应用——智能问答机器人初体验 284
任务12.1 AI应用初探 285
任务12.2 获取DeepSeek API密钥 286
任务12.3 调用DeepSeek API的基本方法 286
任务12.4 处理API请求与响应 289
任务12.5 打造一个简单的命令行智能问答机器人 292
【知识拓展】 297
【进阶练习】 301
【课后作业】 301