高等教育 > 计算机基础教育

Python程序设计应用教程 (第3版)

书号:9787113316280 套系名称:全国高等院校计算机基础教育“十四五”规划教材

作者:张书钦 夏敏捷 出版日期:2024-12-01

定价:52.00 页码 / 开本:0 /16

策划编辑:韩从付 责任编辑:贾星 包宁

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:2024-12-01

资源下载
教学课件
内容简介 前言 目录 作者介绍 图书特色
  • 本书是全国高等院校计算机基础教育“十四五”规划教材之一,以 Python 3.11为编程环境,从基本的程序设计思想入手,逐步展开 Python语言教学,是一本面向广大编程学习者的程序设计类图书。全书共分两篇:基础篇主要介绍 Python语言概述、Python语法基础、Python控制语句、Python函数与模块、Python文件、面向对象程序设计、Tkinter图形界面设计、 Python数据库应用、函数式编程等;提高篇主要介绍科学计算和可视化应用、Python数据分析、 Python爬取网页信息以及数据挖掘和机器学习等。
    本书最大的特色在于以游戏开发案例为导向,使读者在学习过程中充满乐趣,在游戏设计开发过程中不知不觉地学会 Python编程技术和技巧,学会面向对象的设计技术,了解程序设计的所有相关内容。此外,读者还可扫描二维码,通过微视频的形式学习书中重点、难点内容。
    本书适合作为高等院校计算机及其相关专业的教材,也可作为程序设计人员和游戏编程爱好者的自学参考书。
    
  • 党的二十大明确提出:“实施科教兴国战略,强化现代化建设人才支撑。”在当今的信息化社会,科学技术、经济、文化和军事的发展都需要各类人才具备良好的信息技术素质,他们应当能够熟练地操作计算机,会用一门或几门计算机语言进行编程。
    Python语言从 20世纪 90年代初诞生至今,已广泛应用于处理系统管理任务和科学计算,是最受欢迎的程序设计语言之一。
    计算机科学对现代社会产生了毋庸置疑的影响。学习编程是工程专业学生教育的重要内容,也是了解计算机科学本质的方法。Python是新兴程序设计语言,是一种解释型、面向对象、动态数据类型的高级程序设计语言。由于 Python语言具有简洁、易读以及可扩展性,用Python做科学计算的研究机构日益增多。最近几年,随着社会需求逐渐增加,许多高校纷纷开设 Python程序设计课程。
    本书编著者长期从事程序设计语言教学与应用开发,在工作过程中,积累了丰富的教学经验,了解在学习编程时需要学习什么内容才能提高 Python开发能力,以最少的时间投入达到最好的学习效果。
    本书根据实际教学需求进行了调整,删去了第二版的网络编程和图像处理章节,并增强了文件操作部分,特别增加了常用 Excel和 JSON文件的操作使用方法。同时,在数据库操作方面加入了 MySQL数据库操作方法,引入了包的概念和程序异常处理的内容,增加了一些更加实用的案例。为了进一步提升学生的上机实践能力,各章均增设了实验部分。
    本书分基础篇和提高篇。
    基础篇为第 1~9章,主要讲解 Python的基础知识和面向对象编程基础知识、Tkinter图形界面设计、Python数据库应用、函数式编程等知识,部分章节还给出了应用本章知识点的游戏案例,如扑克牌、智力问答、猜单词游戏等。
    提高篇为第 10~13章,介绍 Python最流行的第三方库,实现科学计算和可视化应用、数据分析、网页爬取以及数据挖掘和机器学习等。
    本书具有以下特点:
    (1)内容编排不片面求全、求深,而是考虑零基础读者的接受能力;语言语法介绍以够用、实用为原则,选择 Python中必备、实用的知识进行讲解,强化程序思维能力培养。
    (2)基础篇选取的游戏案例贴近生活,以提高读者学习兴趣。
    (3)提高篇对 Python的知识进行拓展,让读者进一步领会 Python的应用领域,同时解决一些实际问题。
    (4)对涉及的源代码进行了详细解释,以便于理解。
    (5)书中重点、难点和精彩部分制作成微视频,读者可通过扫描二维码学习。
    需要说明的是,学习编程是一个实践过程,动手编写、调试程序是至关重要的。通过实际的编程和积极的思考,读者可以很快地积累许多宝贵的编程经验,最终达到熟练编程的目的。
    本书由张书钦(中原工学院)和夏敏捷(中原工学院)主持编著,沈淑娟(郑州大学)编著第 1章,宋宝卫(郑州轻工业大学)编著第 2~7章和第 10~12章,张锦歌(河南工业大学)编著第 8章和第 9章,沈淑娟(郑州大学)和周雪燕(中原工学院)编著第 13章。
    在本书的编著过程中,为确保内容的正确性,参阅了很多资料,并且得到湖北工业大学、浙江科技学院、成都电子科技大学、武汉商学院、中国人民公安大学、北京联合大学、黄淮
    学院、南阳师范学院、大庆师范学院、广东交通职业技术学院、华南理工大学、湖北生态工程职业技术学院、汕头职业技术学院、商丘工学院、郑州航空管理学院、辽宁机电职业技术学院、内蒙古财经大学等教材使用院校老师的大力支持,在此谨向他们表示衷心的感谢。
    由于编著者水平有限,书中难免有疏漏和不足之处,敬请广大读者批评指正,在此表示感谢。编著者的电子邮件地址是 xmj@zut.edu.cn。
    
    编著者
    2024年 8月
    
  • 第 1章 Python语言概述 ........................ 2
    1.1 Python语言简介 ............................... 2
    1.2 安装与运行 Python环境 .................. 3
    1.2.1安装 Python ...................................... 4
    1.2.2运行 Python ...................................... 4
    1.3 Python开发环境 IDLE简介 ............ 5
    1.3.1 IDLE的启动 .................................... 5
    1.3.2 利用 IDLE创建 Python程序........... 6
    1.3.3 IDLE常用编辑和配置功能 ............. 6
    1.3.4 在 IDLE中运行和调试 Python 程序 .................................................. 7
    1.3.5 在 PyCharm中运行和调试 Python程序 .................................................. 8
    1.4 Python基本输入输出 ..................... 10
    1.4.1 Python基本输入 ............................ 10
    1.4.2 Python基本输出 ........................... 11
    1.5 Python代码规范 ............................. 12
    1.6 使用帮助 ......................................... 13
    习题 .......................................................... 14
    实验一 Python开发环境的使用 .......... 14
    第 2章 Python语法基础 ...................... 16
    2.1 Python数据类型 ............................. 16
    2.1.1数值类型 ....................................... 16
    2.1.2字符串 ............................................ 16
    2.1.3布尔类型 ........................................ 19
    2.1.4空值................................................ 20
    2.1.5 Python类型转换 ............................ 20
    2.2 常量和变量 ..................................... 21
    2.2.1变量................................................ 21
    2.2.2常量................................................ 22
    2.3 运算符与表达式 ..............................23
    2.3.1 运算符............................................ 23
    2.3.2 表达式............................................ 28
    2.4 序列数据结构 ..................................29
    2.4.1 列表................................................ 29
    2.4.2 元组................................................ 33
    2.4.3 字典................................................ 36
    2.4.4集合................................................ 39
    习题...........................................................41
    实验二运算符、表达式和序列使用 ...42
    
    第 3章 Python控制语句 ......................44
    3.1 选择结构 ..........................................44
    3.1.1 if语句 ............................................ 44
    3.1.2 if…else语句 .................................. 45
    3.1.3 if…elif…else语句 ......................... 46
    3.1.4 pass语句 ........................................ 48
    3.2 循环结构 ..........................................48
    3.2.1 while语句 ...................................... 48
    3.2.2 for语句 .......................................... 50
    3.2.3 continue和 break语句 ................... 52
    3.2.4 循环嵌套 ........................................ 52
    3.2.5 列表生成式 .................................... 54
    3.3 常用算法及应用实例 ......................56
    3.3.1 累加与累乘 .................................... 56
    3.3.2 求最大数和最小数 ......................... 57
    3.3.3 枚举法............................................ 58
    3.3.4 递推与迭代 .................................... 58
    3.4 程序的异常处理 ..............................60
    3.5 游戏初步——猜单词游戏 ...............62
    习题...........................................................63
    实验三选择结构与循环结构 ...............64
    第 4章 Python函数与模块 .................. 66
    4.1 函数的定义和使用 ..........................66
    4.1.1函数的定义 .................................... 66
    4.1.2函数的使用 .................................... 67
    4.1.3 lambda表达式 ................................ 68
    4.1.4函数的返回值 ................................. 69
    4.2 函数参数 ..........................................70
    4.2.1函数形参和实参的区别 ................. 70
    4.2.2参数的传递 ................................... 71
    4.2.3函数参数的类型 ............................. 73
    4.2.4变量的作用域 ................................. 75
    4.3 闭包和函数的递归调用 ..................76
    4.3.1闭包................................................ 76
    4.3.2函数的递归调用 ............................. 77
    4.4 内置函数 ..........................................80
    4.4.1数学运算函数 ................................. 80
    4.4.2字符串函数 .................................... 81
    4.4.3反射函数 ........................................ 82
    4.4.4 I/O函数.......................................... 83
    4.5 模块..................................................83
    4.5.1 import导入模块 ............................. 83
    4.5.2定义自己的模块 ............................. 85
    4.5.3 time模块 ........................................ 85
    4.5.4 calendar模块.................................. 86
    4.5.5 random模块 ................................... 87
    4.5.6 math模块和 cmath模块 ................ 88
    4.5.7包.................................................... 89
    4.6 游戏初步——发牌程序(控制台版) ..............................................90
    4.7 函数和字典综合应用案例— —通信录程序 ......................................92
    习题 ...........................................................94
    实验四函数 ...........................................95
    第 5章 Python文件 ............................. 96
    5.1 文件..................................................96
    5.2 文件的访问 ......................................97
    5.2.1打开(建立)文件 ......................... 97
    5.2.2读取文本文件 ................................. 99
    5.2.3写文本文件 .................................. 100
    5.2.4文件内移动 .................................. 101
    5.2.5文件的关闭 .................................. 103
    5.2.6二进制文件的读 /写...................... 103
    5.3 文件夹的操作 ............................... 105
    5.3.1当前工作目录 .............................. 105
    5.3.2目录操作 ...................................... 106
    5.3.3文件操作 ...................................... 107
    5.4 文件应用案例——游戏地图存储 .... 109
    5.4.1地图写入文件 ...............................110
    5.4.2从地图文件读取信息 ....................110
    5.5 常用格式文件操作 ........................ 111
    5.5.1操作 CSV格式文件 ......................111
    5.5.2操作 Excel文档 ............................113
    5.5.3操作 JSON格式文件 ....................115
    5.6 文件应用案例——词频统计 ........ 117
    习题 ........................................................ 119
    实验五 文件操作 ................................. 120
    第 6章面向对象程序设计 ..................121
    6.1 面向对象程序设计基础 ................ 121
    6.2 类和对象 ....................................... 122
    6.2.1定义和使用类 .............................. 122
    6.2.2构造函数_ _init_ _() .................... 123
    6.2.3析构函数 ...................................... 124
    6.2.4实例属性和类属性 ....................... 124
    6.2.5私有成员与公有成员 ................... 127
    6.2.6方法.............................................. 128
    6.3 类的继承和多态 ............................ 129
    6.3.1类的继承 ...................................... 129
    6.3.2类的多继承 .................................. 131
    6.3.3方法重写 ...................................... 131
    6.3.4多态.............................................. 132
    6.3.5运算符重载 .................................. 133
    6.4 面向对象应用案例——扑克牌类设计 ............................................... 134
    6.4.1关键技术——random模块........... 135
    6.4.2程序设计的思路 ........................... 137
    习题 ........................................................ 140
    实验六 面向对象程序设计 ................. 141
    第 7章 Tkinter图形界面设计 ............. 142
    7.1 Python图形开发库 ....................... 142
    7.1.1创建 Windows窗口...................... 142
    7.1.2几何布局管理器 ........................... 143
    7.2 常用 Tkinter组件的使用 .............. 146
    7.2.1 Tkinter组件 ................................. 146
    7.2.2标准属性 ...................................... 147
    7.2.3 Label标签组件 ............................ 148
    7.2.4 Button按钮组件 ........................... 149
    7.2.5 单行文本框( Entry)和多行文本框(Text) ......................................... 150
    7.2.6 Listbox列表框组件 ..................... 152
    7.2.7 单选按钮( Radiobutton)和复选框(Checkbutton) ............................ 154
    7.2.8菜单组件(menu) ...................... 157
    7.2.9对话框 .......................................... 160
    7.2.10消息框 ........................................ 163
    7.2.11 Frame框架组件 .......................... 164
    7.2.12 Scrollbar滚动条组件 ................. 166
    7.3 图形绘制 ....................................... 167
    7.3.1 Canvas画布组件 .......................... 167
    7.3.2 Canvas上的图形对象 .................. 168
    7.4 Tkinter字体................................... 177
    7.4.1通过元组表示字体 ....................... 177
    7.4.2通过
    Font对象表示字体 .............. 178
    7.5 Python事件处理 ........................... 178
    7.5.1事件类型 ...................................... 179
    7.5.2事件绑定 ...................................... 180
    7.5.3事件处理函数 .............................. 181
    7.6 图形界面应用案例——开发猜数字游戏 ....................................... 183
    7.7 图形界面应用案例——发牌程序(窗体版) ..................................... 185
    7.8 图形界面应用案例——关灯游戏 ... 186
    习题 ........................................................ 188
    实验七 Tkinter图形界面设计 ............ 189
    第 8章 Python数据库应用 ................ 191
    8.1 数据库基础 ................................... 191
    8.1.1数据库概念 .................................. 191
    8.1.2关系型数据库 .............................. 192
    8.1.3数据库和 Python接口程序.......... 192
    8.2 结构化查询语言( SQL).............193
    8.2.1数据表的建立和删除 ................... 193
    8.2.2查询语句 ...................................... 193
    8.2.3添加记录语句 .............................. 195
    8.2.4更新语句 ...................................... 195
    8.2.5删除记录语句 .............................. 196
    8.3 SQLite数据库简介 .......................196
    8.3.1 SQLite数据库 .............................. 196
    8.3.2 SQLite3的数据类型 .................... 196
    8.3.3 SQLite3的函数 ............................ 197
    8.3.4 SQLite3的模块 ............................ 198
    8.4 Python的 SQLite3数据库编程 ....198
    8.4.1访问数据库的步骤 ....................... 198
    8.4.2创建数据库和表 .......................... 200
    8.4.3数据库的插入、更新和删除操作 .. 200
    8.4.4数据库表的查询操作 ................... 201
    8.4.5数据库使用实例 .......................... 201
    8.5 Python操作 MySQL数据库 .........204
    8.5.1安装 PyMySQL操作库................ 204
    8.5.2操作 MySQL数据库.................... 205
    8.6 Python数据库应用案例——智力问答游戏 ........................................206
    习题.........................................................209
    实验八 数据库程序设计 .....................209
    第 9章函数式编程 ............................. 211
    9.1 高阶函数 ........................................211
    9.2 Python函数式编程常用的函数 ....212
    9.3 迭代器 ............................................215
    9.4 普通编程方式与函数式编程的对比 ..216
    习题.........................................................216
    实验九 函数式编程 .............................217
    提 高 篇
    第 10章科学计算和可视化应用 .........220
    10.1 NumPy库的使用 .........................220
    10.1.1 NumPy数组 ............................... 220
    10.1.2 NumPy数组的算术运算 ............ 224
    10.1.3 NumPy数组的形状操作 ............ 226
    10.1.4文件存取数组内容 ..................... 227
    10.1.5 NumPy的图像数组.................... 228
    10.2 Matplotlib绘图可视化 ................230
    10.2.1
    Matplotlib.pyplot模块——快速绘图 ............................................ 230
    10.2.2 绘制条形图、饼状图、散点图等 ... 236
    10.2.3 绘制动态二维图 ......................... 239
    10.2.4 交互式标注 ................................ 241
    10.3 可视化应用——学生成绩分布柱状图展示 ..................................242
    10.3.1程序功能介绍 ............................ 242
    10.3.2程序设计的思路及实现 ............. 243
    习题 .........................................................244
    实验十 可视化应用 .............................245
    第 11章 Python数据分析 .................. 246
    11.1 Pandas概述..................................246
    11.1.1 Series .......................................... 247
    11.1.2 DataFrame................................... 249
    11.2 Pandas统计功能 ..........................255
    11.2.1基本统计 .................................... 255
    11.2.2分组统计 .................................... 256
    11.3 Pandas合并/连接和排序 .............258
    11.3.1合并/连接 ................................... 258
    11.3.2排序 ............................................ 260
    11.4 Pandas筛选和过滤功能 ..............262
    11.4.1筛选 ............................................ 262
    11.4.2按筛选条件进行汇总 ................. 264
    11.4.3过滤 ............................................ 265
    11.5 Pandas数据导入 /导出 .................266
    11.5.1导入 CSV文件 ........................... 266
    11.5.2读取其他格式数据 ..................... 266
    11.5.3 导出 Excel文件.......................... 267
    11.5.4 导出 CSV文件........................... 267
    11.6 Pandas数据分析应用案例— —学生成绩统计分析 ...................... 267
    习题 ........................................................ 270
    实验十一 Python数据分析 ................ 271
    第 12章 Python爬取网页信息 ...........273
    12.1 相关 HTTP知识.......................... 273
    12.2 urllib库 ....................................... 274
    12.2.1 urllib库简介 .............................. 274
    12.2.2 urllib库的基本使用 ................... 274
    12.3 BeautifulSoup库 ......................... 280
    12.3.1 BeautifulSoup库概述 ................. 280
    12.3.2 BeautifulSoup库的四大对象 ..... 281
    12.3.3 BeautifulSoup库操作解析文档树 .... 283
    12.4 网络爬虫实战— —Python爬取新浪国内新闻 ............................. 286
    习题 ........................................................ 289
    实验十二 Python爬取网页信息 ......... 289
    第 13章数据挖掘和机器学习 .............291
    13.1 Python机器学习库 sklearn的安装 ............................................. 291
    13.2 Python机器学习库 sklearn的应用 ............................................. 291
    13.2.1 训练数据集——鸢尾花.............. 293
    13.2.2 sklearn库的聚类 ........................ 294
    13.2.3 sklearn库的分类 ........................ 295
    13.2.4 sklearn库的回归 ........................ 296
    13.2.5鸢尾花相关的分类 ..................... 298
    习题 ........................................................ 299
    实验十三机器学习 ............................. 299
    参考文献 ...............................................300
    
  • 张书钦,教授,中原工学院计算机学院执行院长,主要从事物联网、网络安全、人工智能方面的研究,主要教授计算机组成原理、无线网络、Linux程序设计等课程,编写教材1部《无线传感器网络: 理论及应用》,获河南省高等教育教学成果奖一等奖,发表论文40篇,SCI、EI检索20篇。
    
    夏敏捷,硕士导师,副教授,现任中原工学院计算机基础教学部主任,主要研究领域是数据挖掘和可视化。从事计算机基础教学20多年,熟悉C/C++、C#、Python等开发语言,指导学生多次获中国大学生设计大赛大奖。已出版40余部著作和教材,其中《Flash ActinScript3.0动画基础与游戏设计》、《Python程序设计——从基础开发到数据分析》等获河南省规划教材立项。2019年度被评为校级师德标兵,2020年度被评为校级教学名师。在B站拥有“夏老师学习谷”账号,深受读者粉丝喜爱。
    
  • (1)内容编排不片面求全、求深,而是考虑零基础读者的接受能力;语言语法介绍以够用、实用为原则,选择 Python中必备、实用的知识进行讲解,强化程序思维能力培养。
    (2)基础篇选取的游戏案例贴近生活,以提高读者学习兴趣。
    (3)提高篇对 Python的知识进行拓展,让读者进一步领会 Python的应用领域,同时解决一些实际问题。
    (4)对涉及的源代码进行了详细解释,以便于理解。
    (5)书中重点、难点和精彩部分制作成微视频,读者可通过扫描二维码学习。