高等教育 > 计算机基础教育
Python 语言及其应用(第2版)
书号:9787113314224 套系名称:高等教育面向“四新”服务的信息技术课程系列教材
作者:赵广辉 出版日期:2024-11-01
定价:48.00 页码 / 开本:无 /16
策划编辑:秦绪好 责任编辑:翟玉峰 彭立辉
适用专业:计算机基础教育 适用层次:高等教育
最新印刷时间:2024-11-01
资源下载
教学课件(暂无)
教学素材(暂无)
习题答案(暂无)
教学案例(暂无)
教学设计(暂无)
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书秉承“先能力、后知识”的“轴反转”教学理念,采用支架式教学方法,通过精选 120 个真实案例,将学习者置于更复杂、更贴近实际的任务情境。该教学理念和方法不仅强化了各知识领域的有机联系,而且通过统一任务情境促进知识点的交叉融合与协同使用,提升了学习内容的连贯性。这样的教学设计旨在帮助学生建立一套完整的编程思维框架和问题解决方法论。 本书基于 Python 3.12 编写,讲解 Python 概述、对象与人机交互、常用运算、函数、程序流程控制、序列、字典与集合、文件、数据分析与可视化、面向对象程序设计。通过学习本书,读者能够深入理解编程的核心原理,进一步提高创新思维和数据分析能力。 本书适合作为高等院校 Python 程序设计课程的教材,也可作为 Python 语言程序设计爱好者及计算机等级考试(二级)的参考资料。
随着大数据与人工智能技术日益普及,尤其是生成式人工智能技术的飞速发展,程序设计成为人与计算机交互的关键技能,其重要性日益突出。随着技术的演进和应用场景的不断拓展,编程技能成为日益紧迫的需求。本书旨在通过系统而深入的编程教学,培养学生的程序设计能力,提升他们解决实际问题的能力。 本书秉承“先能力、后知识”的“轴反转”教学理念,通过紧密融合理论知识与实践应用,使学生在掌握编程基础知识的同时,学会将知识和算法灵活运用于解决实际问题。真正的编程能力不仅仅在于掌握语法和算法,更在于能够将所学知识应用于实际场景中,解决现实生活和工作中的难题,鼓励学生在学习的过程中勇于探索、勇于实践,不断提升自己的编程水平和综合素质,在解决问题的基础上不断优化代码,寻求优质高效的解决方案。通过本书的学习,学生将能够深入理解编程的核心原理,培养出扎实的逻辑思维能力和创新精神,成为具有解决实际问题能力的未来工程师和创新者。 本书第1版自2019年7月出版以来,获得了广大师生的一致好评。其配套的“Python 程序设计基础”课程于2020年获批首批国家级一流本科课程。本书在第1版的基础上改版,版本由Python 3.7版本升级到Python 3.12,更新内容,优化调整章节顺序,增加了面向对象程序设计和实训的内容。 本书在系统讲解Python语言语法和程序设计基本思想的同时,改变传统教学中以知识讲授为中心的教学组织模式。全书以120个实际问题求解案例为纽带,在各知识点间建立有机的联系,强化各知识点间的交叉融合与协同工作,帮助学生建立起完整的编程思维和解决问题的方法论,在实现问题求解的同时逐渐掌握相关的知识。通过不断地 解决从简单到复杂的各种问题,赋予读者不停探索的动力,激发读者的学习兴趣和学习热情。 本书基于Python 3.12编写,讲解Python概述、对象与人机交互、常用运算、函数、程序流程控制、序列、字典与集合、文件、数据分析与可视化、面向对象程序设计。通过学习本书,读者能够深入理解编程的核心原理,进一步提高创新思维和数据分析能力。本书适合作为高等院校Python程序设计课程的教材,也可作为Python语言程序设计爱好者及计算机等级考试(二级)的参考资料。 本书由首批国家级一流课程负责人、武汉理工大学赵广辉任主编,海军工程大学周钢、武汉工程职业技术学院凌莉、武汉理工大学李屾任副主编,秦珀石、汪朝霞、董丽杰参与编写,全书由赵广辉负责统稿校订。本书在编写过程中查阅了大量的图书资料、科技文献和网络资源,在此对资料和文献的作者表示诚挚感谢。 本书在“头歌实践教学平台”提供了相关数字教程、教学视频、实训项目及相关的数据文件,该平台支持作业与实验项目的在线自动评测,可搜索“赵广辉”或“Python程序设计”进行查询。 本书提供配套的教学课件、源代码和实例数据文件,可在中国铁道出版社有限公司教育资源数字化平台https://www.tdpress.com/51eds中下载,也可发送电子邮件到vasp@qq.com向编者索取,也可加入QQ群2324769获取。 在本书的编写过程中,我们本着科学、严谨的态度,力求精益求精,但由于水平有限,疏漏与不妥之处在所难免,欢迎广大读者批评指正。 编 者 2024年2月
第 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
赵广辉,博士、武汉理工大学教授。
本书编者长期工作在教学一线,是首批国家级一流本科课程的负责人。 本书秉承“先能力、后知识”的“轴反转”教学理念,通过精选 120 个真实案例,将学习者置于更复杂、更贴近实际的学习情境。 本书配有教学课件、源代码、实例数据文件等资源,同时在“头歌实践教学平台”提供了相关资源。