计算机类教材 > 算法与程序设计

Python程序设计

书号:9787113288174 套系名称:高等学校“十四五”规划教材

作者: 苏虹 王鹏远 李萍 孙占锋 韩怿冰 出版日期:2022-02-01

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

策划编辑:韩从付 责任编辑:刘丽丽

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

最新印刷时间:

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 随着Python扩展库不断发展壮大,Python 在科研、电子、政府、数据分析、Web、金融、图像处理、AI技术等各方面都有强大的类库、框架和解决方案。本书详细地介绍了Python语言程序设计的基本原理和方法。全书共分14章,内容包括Python概述、Python数据类型与表达式、程序流程控制、函数与模块、列表与元组、字典与集合、字符串与正则表达式、错误和异常处理、文件及目录操作、面向对象程序设计、tkinter图形界面设计、网络爬虫入门、Python科学计算与数据分析、数据可视化matplotlib等。
    本书适合作为高等学校各专业的程序设计课程的教材,也可作为编程爱好者的自学参考读物。
    本书适合作为高等院校各专业程序设计课程的教材,也可作为编程爱好者的自学参考读物。
    
    
  • Python语言是当下非常热门的一种编程语言。2021年10月,语言流行指数的编译器TIOBE编程语言排行榜将Python语言评选为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。随着Python扩展库的不断发展壮大,Python在科研、电子、政务、数据分析、Web、金融、图像处理、AI技术等各方面都有强大的类库、框架和解决方案,以至有了“已经没有任何语言能够动摇Python在今后生产、生活中的核心语言地位”的说法。国家这两年对人工智能、大数据的重视,更大大地促进了Python语言在国内的发展。
    对于非计算机专业的学生来说,用Python作为程序设计语言启蒙是非常好的选择。Python语言的优势在于比C++/Java等传统静态语言更具有实用性,不局限在烦杂的语法里,可以专注于程序设计思想及计算思维的训练。
    本书的编者全部是一直工作于高等学校教学一线、承担程序设计课程教学多年的大学教师,有着丰富的教学和编程经验。程序设计课程有着理论与实践紧密结合的特点。程序不是看会的,而是动手编会的。学习程序设计的过程是一个学习者与教师、学习者与教材交互的过程,这需要有一本好的教材,再遵照一定的学习规律来很好地完成。本书的编写参考多个高等院校程序设计课程教学大纲,与教育部高等学校大学计算机课程教学指导委员会对程序设计课程的要求保持高度一致,章节结构安排合理,内容层次分明,从认识、了解、掌握、应用等几个层次,由浅入深、循序渐进地组织内容,有助于学生快速掌握知识要点。书中的实例都是精心挑选和设计的,具有新颖性、代表性、典型性,并且在Python 3.9以上版本中全部调试通过。Python 3.9以上版本是全国计算机等级考试二级Python推荐使用的版本。
    本书着重介绍核心语法,以培养编程能力为首要目标,力求较全面地介绍Python程序设计语言的知识点,使本书成为学习者的第一本程序设计参考书。本书共分14章,将Python语言的内容由浅入深、层次分明地呈现给读者。每个章节既有逻辑清晰的语法讲解,又有丰富的编程实例,有助于培养、训练编程初学者的计算思维模式。
    本书主要内容如下:
    第1章Python概述,简要介绍了Python的发展、特点、版本,以及本书使用的Python开发环境、简单Python程序的基本结构和语法规则,并且说明了编码的概念,这些都是后面章节学习的前提。
    第2章Python数据类型与表达式,介绍了Python程序设计语言的基本知识,着重介绍了Python使用的各种数据类型、运算符、表达式及常用的系统函数和数据的输入/输出。本章知识点多且琐碎、枯燥,但它是学习编程的基础。
    第3章程序流程控制,介绍了选择结构、循环结构和复合语句,这些是结构化程序设计的基本结构。
    第4章函数与模块,介绍了函数的定义与调用、函数的参数传递、函数的返回值,以及变量作用域、递归函数、内嵌函数、模块等基本概念,使读者能够综合使用函数来解决实际问题,从而提高应用的模块性和代码重用性。
    第5章列表与元组,介绍了Python语言中列表和元组的创建、元素引用、相关内置函数的操作、列表推导式和生成品推导式的使用等,并结合具体使用实例帮助读者理解。
    第6章字典与集合,介绍了字典与集合的概念,以及字典与集合的创建、元素引用、相关运算符与内置函数的操作、常用的方法等,并配有相关实例操作。
    第7章字符串与正则表达式,介绍了字符串的创建、索引、编码、运算符和内置函数对字符串的操作、字符串对象的常用方法等,还介绍了正则表达式的基本概念、元字符、常用的正则表达式、正则表达式模块等,并以应用实例帮助读者进一步理解和使用正则表达式。
    第8章错误和异常处理,介绍了常见的程序错误及解决方法、异常处理的try-except语句,以及断言处理的assert语句和AssertionError类。
    第9章文件及目录操作,介绍了文件的概念以及文件的使用、读写操作、jieba库的使用、CSV文件的读写操作,使读者了解Python中关于文件的操作。
    第10章面向对象程序设计,第1~9章内容都是基于面向过程的编程知识,本章介绍了面向对象程序设计的基本概念,介绍了类与对象的定义、创建和使用,还介绍了属性和方法、继承和多态,并给出相应的面向对象的编程实例供读者理解学习。
    第11章tkinter图形界面设计,介绍了Python中用于创建图形化用户界面的tkinter库,介绍了如何创建Windows窗口、常用tkinter组件的使用以及Python事件处理,并用实例帮助读者学习使用。
    第12章网络爬虫入门,介绍了相关HTTP协议知识、urllib基本应用与爬虫案例、requests基本操作与爬虫案例、BeautifulSoup基本操作与爬虫案例,给出多个案例帮助读者深入学习。
    第13章Python科学计算与数据分析,介绍了NumPy科学计算库及其扩展库pandas的基本使用。
    第14章数据可视化,介绍了数据可视化的基本概念,以及matplotlib绘图库的基本使用。
    以上各部分都可以独立教学,自成体系,读者可根据学习时间、专业情况、设计要求适当选取章节进行阅读学习。
    本书由郑州轻工业大学的苏虹、王鹏远、李萍、孙占锋、韩怿冰编著。各章编著分工如下:第1、4、11章由王鹏远编著,第2、5、10章由苏虹编著,第3、6、8章由李萍编著,第7、12章由韩怿冰编著,第9、13、14章由孙占锋编著。王鹏远负责本书的架构计划,苏虹和孙占锋负责本书的统稿工作。本书的编写得到众多同行的鼎力支持,在此一并表示感谢。本书的编写和出版过程得到了郑州轻工业大学和中国铁道出版社有限公司的大力支持和帮助,在此由衷地向他们表示感谢。
    由于学识所限,加之时间仓促,书中难免存在不妥和疏漏之处,恳请各位读者批评指正。
    
    
    编  者
    2021年10月
    
  • 第1章Python概述1
    1.1Python简介1
    1.1.1Python的由来与发展1
    1.1.2Python的特点2
    1.1.3Python的应用领域3
    1.1.4Python的版本3
    1.2Python开发环境4
    1.2.1Python语言解释器的下载与安装4
    1.2.2Python的开发环境介绍7
    1.2.3?标准库9
    1.2.4模块和第三方库14
    1.3Python基础15
    1.3.1一个简单的Python程序15
    1.3.2Python程序语法元素分析15
    1.4?字符编码19
    1.4.1Unicode编码20
    1.4.2UTF-821
    1.4.3编码转换21
    习题21
    第2章Python数据类型与表达式24
    2.1?数据类型24
    2.1.1数值类型24
    2.1.2?字符串26
    2.1.3布尔类型31
    2.1.4复合数据类型32
    2.2?变量与常量34
    2.2.1?变量34
    2.2.2?常量35
    2.3运算符与表达式35
    2.3.1算术运算符35
    2.3.2比较运算符36
    2.3.3赋值运算符36
    2.3.4位运算符37
    2.3.5逻辑运算符38
    2.3.6成员运算符38
    2.3.7身份运算符38
    2.3.8运算优先级39
    2.3.9表达式39
    2.4常用系统函数39
    2.4.1常用内置函数40
    2.4.2?常用库函数(数学函数、随机数、时间等)41
    2.5数据的输入/输出43
    2.5.1标准输入/输出43
    2.5.2格式化输出45
    习题47
    第3章程序流程控制49
    3.1程序控制流程概述49
    3.1.1?条件50
    3.1.2?缩进与复合语句50
    3.2?选择结构51
    3.2.1单分支选择结构51
    3.2.2双分支选择结构51
    3.2.3多分支选择结构52
    3.2.4选择结构的嵌套54
    3.2.5?选择结构程序举例55
    3.3?循环结构56
    3.3.1for循环57
    3.3.2while循环59
    3.3.3循环控制语句61
    3.3.4?循环中的else子句62
    3.3.5?循环的嵌套63
    3.3.6循环结构程序举例64
    习题66
    第4章函数与模块67
    4.1?函数的定义与调用67
    4.1.1?函数的定义67
    4.1.2函数的调用69
    4.1.3lambda表达式70
    4.2函数的参数传递72
    4.2.1Python函数参数的值传递机制72
    4.2.2?Python函数参数的引用传递74
    4.2.3参数的类型77
    4.3?函数的返回值78
    4.3.1?指定返回值与隐含返回值78
    4.3.2return语句位置与多条return语句79
    4.3.3返回值类型80
    4.4变量的作用域81
    4.4.1Python的局部变量81
    4.4.2Python的全局变量82
    4.4.3获取指定作用域范围中的变量83
    4.5递归函数84
    4.6内嵌函数与闭包87
    4.7装饰器88
    4.8代码复用与模块化设计89
    4.9Python模块及导入方法89
    习题90
    第5章列表与元组94
    5.1序列94
    5.1.1序列索引94
    5.1.2?序列切片95
    5.1.3?序列相加96
    5.1.4?序列相乘96
    5.1.5?序列成员检测97
    5.1.6?长度、最大值和最小值97
    5.2?列表98
    5.2.1?列表的创建、元素引用及删除99
    5.2.2?运算符对列表的操作100
    5.2.3?内置函数对列表的操作101
    5.2.4?列表对象的常用方法101
    5.2.5列表的切片与遍历103
    5.2.6?列表推导式104
    5.3?元组105
    5.3.1?元组的创建、元素引用与删除105
    5.3.2?元组的常用操作106
    5.3.3生成器推导式108
    5.3.4?元组与列表的异同点109
    5.4?应用举例112
    习题114
    第6章字典与集合116
    6.1字典116
    6.1.1字典概述116
    6.1.2字典的创建116
    6.1.3字典元素的引用、修改及删除118
    6.1.4?运算符对字典的操作119
    6.1.5?内置函数对字典的操作121
    6.1.6?字典的常用方法121
    6.1.7?字典推导式127
    6.1.8?字典的遍历127
    6.2集合128
    6.2.1集合的创建与删除128
    6.2.2集合的运算129
    6.2.3?内置函数对集合的操作131
    6.2.4?集合对象的常用方法131
    6.2.5?集合的遍历和推导式134
    6.3应用举例135
    习题137
    第7章字符串与正则表达式139
    7.1字符串139
    7.1.1字符串的创建、索引及删除139
    7.1.2?字符串编码141
    7.1.3运算符对字符串的操作142
    7.1.4内置函数对字符串的操作142
    7.1.5字符串的遍历与切片143
    7.1.6字符串对象的常用方法145
    7.1.7?字符串常量147
    7.2?正则表达式148
    7.2.1?正则表达式语言概述148
    7.2.2正则表达式元字符149
    7.2.3常用的正则表达式150
    7.2.4正则表达式模块151
    7.3?应用举例152
    习题153
    第8章错误和异常处理155
    8.1程序的错误155
    8.1.1语法错误155
    8.1.2运行错误155
    8.1.3逻辑错误156
    8.2异常处理156
    8.2.1异常概念156
    8.2.2try-except语句158
    8.2.3try-except语句的嵌套161
    8.2.4使用as获取异常信息提示162
    8.2.5使用 raise 语句抛出异常164
    8.3断言处理164
    8.3.1断言处理概述164
    8.3.2assert语句和AssertionError类165
    习题165
    第9章文件及目录操作167
    9.1文件概述167
    9.2文件的打开与关闭167
    9.2.1打开文件167
    9.2.2关闭文件169
    9.2.3上下文关联语句169
    9.3文本文件的读写169
    9.3.1读取文本文件169
    9.3.2?文本文件的写入171
    9.3.3?文件内移动172
    9.3.4文本文件与jieba库173
    9.4?二进制文件的读/写174
    9.4.1?使用pickle模块读写二进制文件175
    9.4.2?使用struct模块读写二进制文件176
    9.5?CSV文件的读写177
    9.5.1?CSV文件简介177
    9.5.2?读取CSV文件177
    9.5.3写入CSV文件178
    9.6os模块178
    9.6.1常用的os模块命令179
    9.6.2?文件重命名与删除179
    9.6.3?文件夹操作179
    9.7应用举例181
    习题181
    第10章面向对象程序设计182
    10.1面向对象程序设计基础182
    10.1.1面向过程与面向对象182
    10.1.2?面向对象的基本概念184
    10.2?类与对象184
    10.2.1类的定义184
    10.2.2对象的创建185
    10.3属性185
    10.3.1类属性、对象属性和实例属性185
    10.3.2私有属性和公有属性187
    10.4方法188
    10.4.1对象方法188
    10.4.2?实例方法189
    10.4.3?类方法190
    10.4.4私有方法与公有方法190
    10.4.5静态方法191
    10.5继承和多态192
    10.5.1继承192
    10.5.2多态195
    10.6应用举例196
    习题201
    第11章tkinter图形界面设计203
    11.1?窗体控件布局203
    11.1.1?创建根窗体204
    11.1.2?几何布局管理器204
    
    11.2常用的tkinter控件208
    11.2.1常见控件概述208
    11.2.2控件的共同属性209
    11.2.3标签(Label)210
    11.2.4按钮(Button)212
    11.2.5单行文本框(Entry)和多行文本框(Text)213
    11.2.6列表框(Listbox)214
    11.2.7单选按钮(Radiobutton)和复选框(Checkbutton)215
    11.2.8组合框(Combobox)218
    11.2.9滑块(Scale)219
    11.2.10滚动条(Scrollbar)221
    11.2.11框架(Frame)223
    11.2.12子窗体(Toplevel)225
    11.3对话框225
    11.3.1消息对话框(Messagebox)225
    11.3.2输入对话框(Simpledialog)227
    11.3.3文件对话框(Filedialog)229
    11.3.4颜色选择对话框(Colorchooser)230
    11.4菜单231
    11.5Python事件处理235
    11.5.1事件类型235
    11.5.2事件绑定236
    11.5.3?事件处理函数236
    习题237
    第12章网络爬虫入门239
    12.1相关HTTP协议知识239
    12.1.1HTTP基础239
    12.1.2?HTML基础240
    12.1.3JavaScript基础242
    12.2?urllib基本应用与爬虫案例243
    12.2.1?urllib基本应用243
    12.2.2urllib爬虫案例245
    12.3requests基本操作与爬虫案例247
    12.3.1requests基本操作247
    12.3.2?requests爬虫案例248
    12.4?BeautifulSoup基本操作与爬虫案例249
    12.4.1?BeautifulSoup基本应用249
    12.4.2?BeautifulSoup爬虫案例251
    习题251
    第13章Python科学计算与数据分析252
    13.1NumPy252
    13.1.1NumPy数组属性252
    13.1.2数组的创建253
    13.1.3切片和索引259
    13.1.4数组常用操作261
    13.1.5?数组的分隔264
    13.1.6?通用函数266
    13.1.7?广播机制272
    13.2pandas272
    13.2.1数据结构273
    13.2.2数据读写278
    13.2.3?数据处理282
    13.2.4?数据分析287
    13.2.5?数据可视化288
    习题289
    第14章数据可视化matplotlib290
    14.1绘图入门290
    14.2?绘制多子图295
    14.3?绘制散点图298
    14.4?绘制饼状图299
    14.5绘制柱状图300
    14.6绘制三维图形301
    习题302
    参考文献303
    
  • 苏虹,郑州轻工业大学工程训练中心计算机基础教学部专职教师,研究方向:计算机应用技术。近年来主要承担了《计算机应用基础》、《大学计算机》、《程序设计技术(C语言)》、《程序设计技术(VB)》等课程的讲授,并指导了本科学生的毕业设计。参编主要教材有:《大学计算机》、《大学计算机实践教程》、《C语言程序设计》、《C语言程序设计实践教程》《VB程序设计》、《VB程序设计实践教程》等。参与省级精品课程、省级精品课程共享课建设等省级、校级教改项目,指导学生参加各级竞赛,多次获得“蓝桥杯”、“河南省大学生机器人竞赛”等国家级、省级奖项。
    
    王鹏远,郑州轻工业大学计算机基础教学部主任。从事计算机基础课程教学,包括:《计算机应用基础》、《大学计算机》、《程序设计技术(C语言)》、《程序设计技术(VB语言)》、《计算图形学》等。参编教材主要有:《大学计算机》、《大学计算机实践教程》、《大学计算机教程》、《大学计算机学习与实践指导》、《C语言程序设计》、《C语言程序设计实践教程》等,参编其他教材10余部。要从事计算机图形学、地理信息系统、虚拟现实等研究工作。
    
    李萍,郑州轻工业大学,主讲大学计算机基础、数据库、Python等课程,研究方向计算机应用。
    
    孙占锋,郑州轻工业大学工程训练中心计算机基础教研室。近年来主要承担了《计算机应用基础》、《大学计算机》、《程序设计技术(C语言)》、《程序设计技术(VB)》等课程的讲授,参与教改项目并发表教改论文,其中获得校级教学成果一等奖一项,河南省教育厅信息技术教育优秀成果二等奖一项、三等奖一项。,参与了《计算机应用基础》和《程序设计技术》这两门课程的河南省省级精品课程的建设工作,《大学计算机》课程的省级精品在线开放课程的申报和建设工作。近年来共发表论文10余篇,其中EI论文2篇。作为副主编、参编教材及实习指导教材10余部。
    
    韩怿冰,郑州轻工业大学工程训练中心计算机基础教学部,主讲程序设计技术、大学计算机、Python语言程序设计、数据库应用技术、计算机应用软件》等课程。2015年获得河南省教学技能竞赛三等奖。专业方向计算机网络与数据库。任教以来,在各类计算机专业学术刊物上发表专业学术论文十余篇。其中第一作者3篇,第二作者3篇,EI收录一篇,外文期刊一篇。参与编写各类规划教材十余部。
    
    
  • ①架构合理,覆盖面较广,培养学生拓展程序设计思维。
    
    ②各章配有习题,且配有实践教材,培养学生掌握计算机信息技术中的程序设计、编写和开发能力。