- 中国铁道出版社
- 9787113314224
- 2-1
- 531483
- 49259244-9
- 16开
- 2024-11
- 计算机类
- 本科
作者简介
内容简介
本书秉承“先能力、后知识”的“轴反转”教学理念,采用支架式教学方法,通过精选 120 个真实案例,将学习者置于更复杂、更贴近实际的任务情境。该教学理念和方法不仅强化了各知识领域的有机联系,而且通过统一任务情境促进知识点的交叉融合与协同使用,提升了学习内容的连贯性。这样的教学设计旨在帮助学生建立一套完整的编程思维框架和问题解决方法论。
本书基于 Python 3.12 编写,讲解 Python 概述、对象与人机交互、常用运算、函数、程序流程控制、序列、字典与集合、文件、数据分析与可视化、面向对象程序设计。通过学习本书,读者能够深入理解编程的核心原理,进一步提高创新思维和数据分析能力。
本书适合作为高等院校 Python 程序设计课程的教材,也可作为 Python 语言程序设计爱好者及计算机等级考试(二级)的参考资料。
本书基于 Python 3.12 编写,讲解 Python 概述、对象与人机交互、常用运算、函数、程序流程控制、序列、字典与集合、文件、数据分析与可视化、面向对象程序设计。通过学习本书,读者能够深入理解编程的核心原理,进一步提高创新思维和数据分析能力。
本书适合作为高等院校 Python 程序设计课程的教材,也可作为 Python 语言程序设计爱好者及计算机等级考试(二级)的参考资料。
目录
第 1 章 Python 概述 1
1.1 Python 语言简介 1
1.2 Python 开发环境配置 4
1.2.1 安装解释器 4
1.2.2 编写程序 5
1.2.3 查看帮助文档 6
1.3 turtle 绘图 7
1.3.1 turtle 库简介 7
1.3.2 模块导入 7
1.3.3 turtle 方法 8
实例 1.1 绘制五角星 9
实例 1.2 绘制 XRD 曲线 10
实例 1.3 绘制填充红色的五角星 12
小结 13
实训 13
第 2 章 对象与人机交互 14
2.1 对象 15
2.1.1 基本数据类型 15
2.1.2 对象属性 16
2.1.3 赋值 17
2.1.4 变量命名规范 19
2.2 人机交互 19
2.2.1 输出函数 19
2.2.2 输入函数 21
实例 2.1 日期格式化输出 22
小结 23
实训 23
第 3 章 常用运算 .24
3.1 数值运算 24
3.1.1 数字类型 24
实例 3.1 计算地球体积 26
3.1.2 数字类型转换 26
实例 3.2 IP 地址转换 27
实例 3.3 计算矩形面积 28
3.1.3 数学运算 .29
实例 3.4 一元二次方程求解 31
实例 3.5 计算斐波那契数列中特定的项 31
3.1.4 数学运算函数 32
实例 3.6 数学四则运算 34
3.1.5 math 模块及其应用 35
实例 3.7 三角函数公式求值 40
实例 3.8 梅钦法计算圆周率 40
实例 3.9 计算弓形的面积 41
3.2 逻辑值检测 42
3.3 布尔运算 42
实例 3.10 计算闰年 43
实例 3.11 输出年龄 44
3.4 比较运算 44
实例 3.12 判定成绩是否合格 45
实例 3.13 判断是否构成三角形 45
3.5 成员运算 45
实例 3.14 判断字符类型 46
3.6 运算优先级 46
实例 3.15 身份验证 47
小结 47
实训 47
第 4 章 函数 49
4.1 函数定义与调用 49
实例 4.1 计算圆的面积函数 50
实例 4.2 输出“人生苦短,我用 Python” 51
实例 4.3 计算并输出球的表面积 52
实例 4.4 计算并输出球的表面积和体积 53
4.2 参数传递 53
4.2.1 位置传递 53
实例 4.5 计算并输出圆锥的表面积和体积 53
4.2.2 关键字传递 54
4.2.3 默认值传递 54
4.3 函数变量作用域 55
4.4 递归 56
实例 4.6 猴子吃桃问题 56
4.5 匿名函数 .57
实例 4.7 列表排序 58
4.6 常用内置函数 58
小结 59
实训 59
第 5 章 程序流程控制 60
5.1 结构化程序设计 60
5.2 顺序结构 61
5.3 分支结构 61
5.3.1 单分支 61
5.3.2 二分支 62
5.3.3 多分支结构 63
实例 5.1 百分制分数转五分制 64
实例 5.2 出租车计费 65
实例 5.3 个税计算 65
5.3.4 条件表达式 67
5.4 循环结构 67
5.4.1 while 循环 68
实例 5.4 某地野兔泛滥问题 68
实例 5.5 Leibniz 公式计算圆周率 70
实例 5.6 二分法求函数的零点 71
5.4.2 for 循环 72
实例 5.7 分类统计字符串中的字符 72
实例 5.8 分数求和 74
实例 5.9 等差数列求和 74
实例 5.10 计算阶乘 74
实例 5.11 计算薪酬 75
实例 5.12 拉马努金法计算圆周率 .76
实例 5.13 几何法计算积分 76
5.4.4 多重循环 77
实例 5.14 破解密码 77
实例 5.15 百钱买百鸡 78
5.5 流程跳转语句 79
5.5.1 break 语句 79
实例 5.16 加法训练 80
实例 5.17 求自身以外的最大因数 81
实例 5.18 百钱买百鸡进阶 81
5.5.2 else 子句 82
实例 5.19 输出素数 82
实例 5.20 判定素数函数 82
实例 5.21 判断回文素数 83
实例 5.22 按从小到大顺序输出所有小于 n 的反素数 84
实例 5.23 哥德巴赫猜想 84
5.5.3 continue 85
实例 5.24 统计平均成绩 85
5.6 异常处理 86
5.6.1 异常 86
5.6.2 try except 子句 86
5.6.2 异常处理的应用 88
实例 5.25 求两个正整数 a 和 b 的和 88
小结 89
实训 89
第 6 章 序列 90
6.1 序列通用操作 91
6.1.1 索引 91
实例 6.1 百分制转五分制 93
6.1.2 切片 93
实例 6.2 判断回文字符串 95
实例 6.3 提取身份号码中的日期与性别 95
6.1.3 序列长度 .96
实例 6.4 统计单词数量(一) 96
6.1.4 元素出现次数 96
实例 6.5 统计字符数量 96
6.1.5 获取子序列序号 97
实例 6.6 恺撒加密 97
6.1.6 序列拼接与重复 97
实例 6.7 数据脱敏 97
实例 6.8 约瑟夫环问题 .98
6.1.7 成员测试 99
实例 6.9 判断火车票座位 99
6.1.8 最大值与最小值 99
6.1.9 多变量赋值 99
实例 6.10 鸡兔同笼 100
6.2 字符串 100
6.2.1 字符串的创建 100
实例 6.11 输出水仙花数 101
实例 6.12 读取文件中的数据 101
6.2.2 字符串常量 102
6.2.3 字符串遍历 102
实例 6.13 分类统计字符个数 102
6.2.4 常用字符串处理方法 103
实例 6.14 统计单词数量(二) 104
6.2.5 字符串格式化 104
实例 6.15 格式化输出人口数据 106
6.2.6 转义字符 106
6.3 元组 107
6.3.1 元组的创建 107
6.3.2 元组内置方法 108
实例 6.16 统计成绩数据 108
6.4 列表 108
6.4.1 列表的创建 109
实例 6.17 查找自幂数 109
6.4.2 列表的更新 110
实例 6.18 读数据到列表 111
6.4.3 列表的删除 112
实例 6.19 模拟产生双色球中奖号码 113
6.4.4 列表的排序 114
实例 6.20 成绩统计分析 115
实例 6.21 成绩排序 115
6.5 random 库 117
实例 6.22 猜数游戏 118
实例 6.23 模拟校验验证码 118
实例 6.24 模拟某公司产品序列号 119
实例 6.25 用蒙特卡罗方法计算圆周率 120
小结 120
实训 121
第 7 章 字典与集合 122
7.1 字典 123
7.1.1 字典的创建 123
实例 7.1 读文件创建字典 124
7.1.2 获取字典值 124
实例 7.2 查询首都 125
实例 7.3 简明英汉词典 125
实例 7.4 摩斯密码 126
7.1.3 字典的修改 126
7.1.4 字典元素的删除 128
7.1.5 字典排序 128
实例 7.5 《水浒传》里人名和出现次数排序 130
实例 7.6 中文词频统计 130
7.2 集合 131
7.2.1 集合的创建 132
实例 7.7 统计金牌项目 132
实例 7.8 计算植株平均高度 132
实例 7.9 奥运奖牌统计 133
实例 7.10 奇特的四位数 134
7.2.2 可变集合类型的操作 134
7.2.3 集合成员运算 135
实例 7.11 查询奥运项目是否获奖 135
7.2.4 集合关系 135
实例 7.12 IP 地址转换 136
7.2.5 集合运算 136
实例 7.13 手机销售分析 138
7.3 datetime 库 139
实例 7.14 根据身份证号计算年龄 139
实例 7.15 特殊的生日 141
小结 141
实训 141
第 8 章 文件 142
8.1 文件的打开与关闭 142
实例 8.1 输出文件内容 144
8.2 文件读 / 写操作 145
8.2.1 文件读取方法 145
实例 8.2 提取文件中的英文 147
8.2.2 文件写入方法 148
实例 8.3 写入文件 148
8.3 文件的应用 149
8.3.1 CSV 格式文件 149
实例 8.4 读文件统计成绩 149
8.3.2 文件与文件夹操作 152
实例 8.5 文件重命名与删除 152
实例 8.6 从多文件中提取数据汇总 153
实例 8.7 批量改文件名 153
实例 8.8 批量处理多个文件中的数据 154
小结 156
实训 156
第 9 章 数据分析与可视化 157
9.1 网络爬虫 158
9.1.1 网络爬虫概述 158
9.1.2 HTML 简介 158
9.1.3 网页结构 161
9.1.4 request 模块 161
9.1.5 正则表达式 165
9.1.6 BeautifulSoup 模块 170
9.1.7 XPath 表达式 173
9.1.8 爬虫协议 176
9.1.9 爬虫的实例 177
实例 9.1 爬取双色球开奖数据 177
9.2 pandas 数据处理 178
9.2.1 pandas 文件操作 178
9.2.2 Excel 文件读取 179
实例 9.2 读取 Excel 文件中的证券数据 180
实例 9.3 手机销售数据分析 180
9.2.3 CSV 文件读取 181
实例 9.4 读取 csv 文件中的数据 182
9.2.4 读数据库 182
实例 9.5 读数据库中成绩数据 183
9.2.5 读 json 文件 183
实例 9.6 读取 json 文件中的数据 183
9.2.6 数据查看 184
9.2.7 数据排序 184
9.2.8 数据统计 185
实例 9.7 成绩统计 185
9.3 数据可视化 187
9.3.1 函数绘图 188
实例 9.8 正余弦函数曲线绘制 190
9.3.2 标注与美化 190
实例 9.9 正余弦函数曲线标注 191
9.3.3 中文显示 194
9.3.4 绘制多子图 196
实例 9.10 绘制多个子图 196
9.3.5 数据文件绘图 .197
实例 9.11 读文件绘制数据曲线 197
实例 9.12 多列数据绘图 198
实例 9.13 两列数据绘制多条曲线 201
9.3.6 非线性图 202
实例 9.14 绘制 legend 编程语言热度饼图 203
实例 9.15 绘制成绩分布直方图 205
实例 9.16 查询 2021 年末全国地铁里程排名 207
实例 9.17 绘制智能手机市场份额柱形图 208
实例 9.18 绘制身高体重散点图 211
实例 9.19 绘制成绩雷达图 212
9.3.7 词云 214
实例 9.20 绘制英文词云 216
小结 219
实训 219
第 10 章 面向对象程序设计 220
10.1 面向对象 220
10.1.1 对象 .221
10.1.2 类的定义 221
10.1.3 属性 222
10.1.4 方法 224
10.1.5 继承 226
10.2 模块与包 228
10.2.1 模块 228
10.2.2 包 229
10.2.3 标准库 229
10.3 第三方库 232
10.3.1 安装第三方库 232
10.3.2 批量安装第三方库 233
10.3.3 从分发文件安装 233
10.3.4 从源代码安装 233
10.3.5 更新与卸载第三方库 233
小结 234
参考文献 234
1.1 Python 语言简介 1
1.2 Python 开发环境配置 4
1.2.1 安装解释器 4
1.2.2 编写程序 5
1.2.3 查看帮助文档 6
1.3 turtle 绘图 7
1.3.1 turtle 库简介 7
1.3.2 模块导入 7
1.3.3 turtle 方法 8
实例 1.1 绘制五角星 9
实例 1.2 绘制 XRD 曲线 10
实例 1.3 绘制填充红色的五角星 12
小结 13
实训 13
第 2 章 对象与人机交互 14
2.1 对象 15
2.1.1 基本数据类型 15
2.1.2 对象属性 16
2.1.3 赋值 17
2.1.4 变量命名规范 19
2.2 人机交互 19
2.2.1 输出函数 19
2.2.2 输入函数 21
实例 2.1 日期格式化输出 22
小结 23
实训 23
第 3 章 常用运算 .24
3.1 数值运算 24
3.1.1 数字类型 24
实例 3.1 计算地球体积 26
3.1.2 数字类型转换 26
实例 3.2 IP 地址转换 27
实例 3.3 计算矩形面积 28
3.1.3 数学运算 .29
实例 3.4 一元二次方程求解 31
实例 3.5 计算斐波那契数列中特定的项 31
3.1.4 数学运算函数 32
实例 3.6 数学四则运算 34
3.1.5 math 模块及其应用 35
实例 3.7 三角函数公式求值 40
实例 3.8 梅钦法计算圆周率 40
实例 3.9 计算弓形的面积 41
3.2 逻辑值检测 42
3.3 布尔运算 42
实例 3.10 计算闰年 43
实例 3.11 输出年龄 44
3.4 比较运算 44
实例 3.12 判定成绩是否合格 45
实例 3.13 判断是否构成三角形 45
3.5 成员运算 45
实例 3.14 判断字符类型 46
3.6 运算优先级 46
实例 3.15 身份验证 47
小结 47
实训 47
第 4 章 函数 49
4.1 函数定义与调用 49
实例 4.1 计算圆的面积函数 50
实例 4.2 输出“人生苦短,我用 Python” 51
实例 4.3 计算并输出球的表面积 52
实例 4.4 计算并输出球的表面积和体积 53
4.2 参数传递 53
4.2.1 位置传递 53
实例 4.5 计算并输出圆锥的表面积和体积 53
4.2.2 关键字传递 54
4.2.3 默认值传递 54
4.3 函数变量作用域 55
4.4 递归 56
实例 4.6 猴子吃桃问题 56
4.5 匿名函数 .57
实例 4.7 列表排序 58
4.6 常用内置函数 58
小结 59
实训 59
第 5 章 程序流程控制 60
5.1 结构化程序设计 60
5.2 顺序结构 61
5.3 分支结构 61
5.3.1 单分支 61
5.3.2 二分支 62
5.3.3 多分支结构 63
实例 5.1 百分制分数转五分制 64
实例 5.2 出租车计费 65
实例 5.3 个税计算 65
5.3.4 条件表达式 67
5.4 循环结构 67
5.4.1 while 循环 68
实例 5.4 某地野兔泛滥问题 68
实例 5.5 Leibniz 公式计算圆周率 70
实例 5.6 二分法求函数的零点 71
5.4.2 for 循环 72
实例 5.7 分类统计字符串中的字符 72
实例 5.8 分数求和 74
实例 5.9 等差数列求和 74
实例 5.10 计算阶乘 74
实例 5.11 计算薪酬 75
实例 5.12 拉马努金法计算圆周率 .76
实例 5.13 几何法计算积分 76
5.4.4 多重循环 77
实例 5.14 破解密码 77
实例 5.15 百钱买百鸡 78
5.5 流程跳转语句 79
5.5.1 break 语句 79
实例 5.16 加法训练 80
实例 5.17 求自身以外的最大因数 81
实例 5.18 百钱买百鸡进阶 81
5.5.2 else 子句 82
实例 5.19 输出素数 82
实例 5.20 判定素数函数 82
实例 5.21 判断回文素数 83
实例 5.22 按从小到大顺序输出所有小于 n 的反素数 84
实例 5.23 哥德巴赫猜想 84
5.5.3 continue 85
实例 5.24 统计平均成绩 85
5.6 异常处理 86
5.6.1 异常 86
5.6.2 try except 子句 86
5.6.2 异常处理的应用 88
实例 5.25 求两个正整数 a 和 b 的和 88
小结 89
实训 89
第 6 章 序列 90
6.1 序列通用操作 91
6.1.1 索引 91
实例 6.1 百分制转五分制 93
6.1.2 切片 93
实例 6.2 判断回文字符串 95
实例 6.3 提取身份号码中的日期与性别 95
6.1.3 序列长度 .96
实例 6.4 统计单词数量(一) 96
6.1.4 元素出现次数 96
实例 6.5 统计字符数量 96
6.1.5 获取子序列序号 97
实例 6.6 恺撒加密 97
6.1.6 序列拼接与重复 97
实例 6.7 数据脱敏 97
实例 6.8 约瑟夫环问题 .98
6.1.7 成员测试 99
实例 6.9 判断火车票座位 99
6.1.8 最大值与最小值 99
6.1.9 多变量赋值 99
实例 6.10 鸡兔同笼 100
6.2 字符串 100
6.2.1 字符串的创建 100
实例 6.11 输出水仙花数 101
实例 6.12 读取文件中的数据 101
6.2.2 字符串常量 102
6.2.3 字符串遍历 102
实例 6.13 分类统计字符个数 102
6.2.4 常用字符串处理方法 103
实例 6.14 统计单词数量(二) 104
6.2.5 字符串格式化 104
实例 6.15 格式化输出人口数据 106
6.2.6 转义字符 106
6.3 元组 107
6.3.1 元组的创建 107
6.3.2 元组内置方法 108
实例 6.16 统计成绩数据 108
6.4 列表 108
6.4.1 列表的创建 109
实例 6.17 查找自幂数 109
6.4.2 列表的更新 110
实例 6.18 读数据到列表 111
6.4.3 列表的删除 112
实例 6.19 模拟产生双色球中奖号码 113
6.4.4 列表的排序 114
实例 6.20 成绩统计分析 115
实例 6.21 成绩排序 115
6.5 random 库 117
实例 6.22 猜数游戏 118
实例 6.23 模拟校验验证码 118
实例 6.24 模拟某公司产品序列号 119
实例 6.25 用蒙特卡罗方法计算圆周率 120
小结 120
实训 121
第 7 章 字典与集合 122
7.1 字典 123
7.1.1 字典的创建 123
实例 7.1 读文件创建字典 124
7.1.2 获取字典值 124
实例 7.2 查询首都 125
实例 7.3 简明英汉词典 125
实例 7.4 摩斯密码 126
7.1.3 字典的修改 126
7.1.4 字典元素的删除 128
7.1.5 字典排序 128
实例 7.5 《水浒传》里人名和出现次数排序 130
实例 7.6 中文词频统计 130
7.2 集合 131
7.2.1 集合的创建 132
实例 7.7 统计金牌项目 132
实例 7.8 计算植株平均高度 132
实例 7.9 奥运奖牌统计 133
实例 7.10 奇特的四位数 134
7.2.2 可变集合类型的操作 134
7.2.3 集合成员运算 135
实例 7.11 查询奥运项目是否获奖 135
7.2.4 集合关系 135
实例 7.12 IP 地址转换 136
7.2.5 集合运算 136
实例 7.13 手机销售分析 138
7.3 datetime 库 139
实例 7.14 根据身份证号计算年龄 139
实例 7.15 特殊的生日 141
小结 141
实训 141
第 8 章 文件 142
8.1 文件的打开与关闭 142
实例 8.1 输出文件内容 144
8.2 文件读 / 写操作 145
8.2.1 文件读取方法 145
实例 8.2 提取文件中的英文 147
8.2.2 文件写入方法 148
实例 8.3 写入文件 148
8.3 文件的应用 149
8.3.1 CSV 格式文件 149
实例 8.4 读文件统计成绩 149
8.3.2 文件与文件夹操作 152
实例 8.5 文件重命名与删除 152
实例 8.6 从多文件中提取数据汇总 153
实例 8.7 批量改文件名 153
实例 8.8 批量处理多个文件中的数据 154
小结 156
实训 156
第 9 章 数据分析与可视化 157
9.1 网络爬虫 158
9.1.1 网络爬虫概述 158
9.1.2 HTML 简介 158
9.1.3 网页结构 161
9.1.4 request 模块 161
9.1.5 正则表达式 165
9.1.6 BeautifulSoup 模块 170
9.1.7 XPath 表达式 173
9.1.8 爬虫协议 176
9.1.9 爬虫的实例 177
实例 9.1 爬取双色球开奖数据 177
9.2 pandas 数据处理 178
9.2.1 pandas 文件操作 178
9.2.2 Excel 文件读取 179
实例 9.2 读取 Excel 文件中的证券数据 180
实例 9.3 手机销售数据分析 180
9.2.3 CSV 文件读取 181
实例 9.4 读取 csv 文件中的数据 182
9.2.4 读数据库 182
实例 9.5 读数据库中成绩数据 183
9.2.5 读 json 文件 183
实例 9.6 读取 json 文件中的数据 183
9.2.6 数据查看 184
9.2.7 数据排序 184
9.2.8 数据统计 185
实例 9.7 成绩统计 185
9.3 数据可视化 187
9.3.1 函数绘图 188
实例 9.8 正余弦函数曲线绘制 190
9.3.2 标注与美化 190
实例 9.9 正余弦函数曲线标注 191
9.3.3 中文显示 194
9.3.4 绘制多子图 196
实例 9.10 绘制多个子图 196
9.3.5 数据文件绘图 .197
实例 9.11 读文件绘制数据曲线 197
实例 9.12 多列数据绘图 198
实例 9.13 两列数据绘制多条曲线 201
9.3.6 非线性图 202
实例 9.14 绘制 legend 编程语言热度饼图 203
实例 9.15 绘制成绩分布直方图 205
实例 9.16 查询 2021 年末全国地铁里程排名 207
实例 9.17 绘制智能手机市场份额柱形图 208
实例 9.18 绘制身高体重散点图 211
实例 9.19 绘制成绩雷达图 212
9.3.7 词云 214
实例 9.20 绘制英文词云 216
小结 219
实训 219
第 10 章 面向对象程序设计 220
10.1 面向对象 220
10.1.1 对象 .221
10.1.2 类的定义 221
10.1.3 属性 222
10.1.4 方法 224
10.1.5 继承 226
10.2 模块与包 228
10.2.1 模块 228
10.2.2 包 229
10.2.3 标准库 229
10.3 第三方库 232
10.3.1 安装第三方库 232
10.3.2 批量安装第三方库 233
10.3.3 从分发文件安装 233
10.3.4 从源代码安装 233
10.3.5 更新与卸载第三方库 233
小结 234
参考文献 234