本书介绍了Python程序设计的基础知识,涵盖全国计算机等级考试二级Python语言程序设计考试大纲的全部内容。全书共10章,具体包括Python语言概述、Python基础语法、Python控制语句、Python异常情况及处理、Python数据结构、Python函数和模块、Python文件处理、Python类和对象以及高级编程等内容,并设计了相关知识点的配套实验,用于学生实践训练。 本书是作者多年教学经验的凝练和总结,面向计算机程序设计的初学者,由浅入深、循序渐进地介绍Python语言程序设计的基础知识,使读者系统、全面地掌握编程相关理论和应用。 本书可以作为高等院校计算机专业和非计算机专业的程序设计课程教材,也可以作为全国计算机等级考试的参考教材,还可以作为广大程序设计爱好者、开发者的自学参考书。
本书介绍了Python程序设计的基础知识,涵盖全国计算机等级考试二级Python语言程序设计考试大纲的全部内容。全书共10章,具体内容包括Python语言基础语法、程序控制结构、Python异常处理、Python数据结构、函数和模块、文件处理、类和对象以及GUI编程、网络编程和数据库编程等高级编程内容,并设计了相关知识点的配套实验,用于学生实践训练。
随着大数据、人工智能等信息技术的飞速发展,Python语言受到了产业界、教育界和学术界的广泛关注。在近几年的TIOBE编程语言排行榜中,Python长时间稳居前三名,仅次于老牌程序设计语言C与Java,并且在2010年、2018年和2020年获得TIOBE年度编程语言,成为用户数量增长速度快的计算机程序设计语言。
2017年,我们预见到了Python语言的发展趋势,也意识到Python是一门非常适合大学生学习的程序设计语言。在清华大学出版社的支持下,本书的第1版顺利出版。第1版教材凝结了作者多年的教学经验,同时也蕴涵着理想主义色彩的教育探索意味。我们希望编写一本适合各个专业的、编程零基础学生的程序设计教材,以通俗易懂的语言、简洁清晰的逻辑、由浅入深的设计,引领大学生走进Python程序设计的世界,开启自己的编程之旅。几年来,第1版教材受到了全国很多大学生、高校教师以及其他Python学习者的欢迎,多所高校将其作为计算机程序设计的公共课或专业课教材,并且荣获首届辽宁省优秀教材奖,我们在深感欣慰的同时也感受到了沉甸甸的责任。
2018年,Python被列入了全国计算机等级考试(NCRE)二级的考试科目,极大地推动了Python语言在全国高校程序设计教学中的普及,大量高校开始开设Python语言程序设计课程。同时,Python语言的版本也多次迭代。可以说,Python教学的外部环境发生了巨大变化。为了适应这种变化,也为了总结几年来Python教学的一线经验,我们决定对原教材进行修订。本修订版的目标读者仍定位为程序设计语言的初学者,修改原教材中的部分错误,依据全国计算机等级考试二级Python语言程序设计考试大纲(2018年版)的要求,增加了原教材中没有的部分知识点,精简了原教材中一些不重要的内容,删除了一些二级大纲中未要求的内容。同时,修订版中也增加了一些与基础知识相关但有一定难度的内容(标星号*的章节),供学有余力、想进一步深入学习Python的读者选学,教师可以在教学中自由选择是否讲授这部分内容。
相较于第1版,第2版在章节编排上做了较大改动,全书修订后共包含10章,将原书第9章Python异常情况及处理提前到第4章,使全书在整体知识脉络上更为清晰,逻辑顺序更为合理,利于读者的学习。删除了第1版的第5章字符串和正则表达式中正则表达式部分的全部内容,将字符串部分移到新的第5章Python数据结构,并对内容做了适当增减。在内容上,对重要章节中的实例、知识描述等都做了较大改动,新增了5.7节Python特殊的数据结构,介绍了迭代器、生成器、可变对象、不可变对象等重要概念。6.7节增加了两部分内容:词云模块wordcloud和可执行程序生成模块pyinstaller,满足计算机等级考试二级大纲中的要求,也扩展了学生掌握的第三方模块。7.1节增加了文件的编码部分,有助于学生理解、使用各种不同编码的文件。
针对读者反馈的实验内容不足问题,本次修订新增了配套实验作为教材第10章内容,用于学生实践训练,每一节对应前9章的理论学习内容,供读者实践提升。
本书第2版由王学颖、司雨昌、王萍共同编著,感谢刘立群、刘冰在本书第1版编写过程中做出的贡献,本书也得到了很多老师和读者无私的帮助和支持,在此向他们的付出表示衷心的感谢。
编 者
2021年5月
教授,博士,院长,硕士生导师,教育部全国万名优秀创新创业导师,辽宁省本科教学名师,辽宁省大学计算机课程教学指导委员会副主任委员、创新创业教育指导委员会委员,中国大学生计算机设计大赛评审专家。
●第1章Python语言概述1
1.1程序设计语言概述1
1.1.1程序设计语言的演变1
1.1.2高级语言的运行机制2
1.2Python的产生与特性3
1.2.1Python的产生与发展3
1.2.2Python语言的特性4
1.3Python的开发环境5
1.3.1Python的下载和安装5
1.3.2IDLE开发环境7
1.4Python程序书写规范12
1.4.1程序的基本结构12
1.4.2基本语法规则14
习题116
●第2章Python基础语法17
2.1基本数据类型17
2.1.1数值类型17
2.1.2字符串类型19
2.1.3布尔类型19
2.2常量与变量20
2.2.1常量20
2.2.2变量20
2.2.3变量的赋值22
2.2.4标识符与关键字25
2.3运算符与表达式26
2.3.1算术运算符26
2.3.2关系运算符27
2.3.3赋值运算符27
2.3.4逻辑运算符28
2.3.5成员运算符28
2.3.6身份运算符29
2.3.7表达式30
2.4常用内置函数31
2.4.1输入输出函数31
2.4.2数学运算函数33
2.4.3转换函数34
2.4.4其他常用函数37
2.5常用标准模块40
2.5.1模块的导入40
2.5.2math模块41
2.5.3random模块43
2.5.4time模块44
2.5.5turtle模块47
习题251
●第3章Python控制语句52
3.1结构化程序设计52
3.1.1程序流程图52
3.1.2程序的基本结构53
3.2分支结构55
3.2.1单分支结构55
3.2.2双分支结构57
3.2.3多分支结构58
3.2.4分支结构的嵌套60
3.3循环结构61
3.3.1for循环62
3.3.2while循环65
3.3.3循环的嵌套68
3.4break语句和continue语句70
3.4.1break语句70
3.4.2continue语句73
习题376
●第4章Python异常情况及处理77
4.1Python的异常77
4.1.1Python的常见异常77
4.1.2Python的异常处理79
4.2常用异常处理方法80
4.2.1基本的try…except语句80
4.2.2try…except…else语句81
4.2.3处理多重异常的try…except结构83
4.2.4try…except…finally语句85
4.3断言与上下文管理语句87
4.3.1断言语句87
4.3.2上下文管理语句89
习题490
●第5章Python数据结构91
5.1组合数据类型简介91
5.2字符串的基本操作92
5.2.1字符串的索引与分片93
5.2.2字符串的基本运算95
5.2.3字符串运算方法96
5.2.4字符串的格式化99
5.3列表105
5.3.1列表的创建106
5.3.2列表的基本操作107
5.3.3列表的其他操作113
5.4元组116
5.4.1元组的创建117
5.4.2元组的基本操作118
5.4.3序列类型的操作函数120
5.5字典121
5.5.1字典的创建121
5.5.2字典的基本操作124
5.5.3字典的其他操作130
5.6集合132
5.6.1集合的创建132
5.6.2集合的基本操作134
5.6.3集合的其他操作135
*5.7Python特殊的数据结构137
5.7.1迭代器和生成器137
5.7.2可变对象和不可变对象140
习题5142
●第6章Python函数和模块144
6.1函数的定义144
6.2函数的调用和返回值146
6.2.1函数的调用146
6.2.2函数的返回值148
6.3函数的参数149
6.3.1参数传递的方式149
6.3.2位置参数和关键字参数151
6.3.3默认值参数154
6.3.4可变参数156
6.4变量的作用域162
6.5函数的嵌套165
6.5.1函数的嵌套定义165
6.5.2lambda函数168
6.6函数的递归168
6.7常用第三方模块173
6.7.1模块的搜索路径174
6.7.2自定义模块和包174
6.7.3第三方模块的安装177
6.7.4中文分词模块jieba179
6.7.5词云模块wordcloud186
6.7.6可执行程序生成模块pyinstaller191
习题6193
●第7章Python文件处理196
7.1文件的概念196
7.1.1文件196
7.1.2文件的分类196
*7.1.3文件的编码198
7.2文件的打开与关闭204
7.2.1文件的打开204
7.2.2文件的关闭206
7.3文件的读/写208
7.3.1文件的读取208
7.3.2文件的写入212
7.4文件的定位214
7.4.1seek()函数214
7.4.2tell()函数216
7.5文件及文件夹操作217
7.5.1os模块217
7.5.2os.path模块218
习题7220
●第8章Python类和对象222
8.1面向对象编程222
8.1.1面向过程与面向对象222
8.1.2面向对象的相关概念223
8.2类的定义与对象的创建225
8.2.1类的定义格式225
8.2.2对象的创建226
8.3属性和方法229
8.3.1类属性与对象属性230
8.3.2公有属性与私有属性231
8.3.3对象方法232
8.3.4类方法234
8.3.5静态方法235
8.3.6内置方法237
8.4继承239
8.4.1继承和派生的概念240
8.4.2派生类的定义240
8.4.3派生类的组成243
8.4.4多继承244
8.5多态性246
8.5.1方法重载246
8.5.2运算符重载247
习题8249
●第9章Python高级编程251
9.1GUI编程251
9.1.1Python常用GUI模块251
9.1.2tkinter模块253
9.2网络编程282
9.2.1socket编程282
9.2.2Python网络爬虫287
9.3数据库编程295
9.3.1SQLite数据库简介295
9.3.2Python操作SQLite数据库295
习题9298
●第10章实践训练300
10.1Python语言概述300
10.1.1Python的安装300
10.1.2Python的运行方式302
10.2Python基础语法306
10.2.1变量及其赋值306
10.2.2基本数据类型与表达式307
10.2.3常用内置函数309
10.2.4常用标准模块310
10.3Python控制语句314
10.3.1分支结构程序设计实验314
10.3.2循环结构程序设计317
10.3.3break和continue语句323
10.4Python异常处理328
10.5Python数据结构329
10.5.1字符串329
10.5.2列表和元组332
10.5.3字典和集合337
10.6Python函数和模块339
10.6.1函数的定义、调用和返回值339
10.6.2函数的参数342
10.6.3变量的作用域347
10.6.4函数的递归349
10.6.5常用第三方模块的使用351