Python语言具有高效率、可移植、可扩展、可嵌入、易于维护等优点,而且Python语法简洁,代码高度规范,功能强大且简单易学,是程序开发人员必学的语言之一。
本书注重基础、循序渐进、内容丰富、结构合理、思路清晰、语言简练流畅、示例翔实,系统地讲述了Python程序设计开发相关基础知识。全书共10章,主要内容包括Python概述、Python基本语法、Python的基本流程控制、Python的4种典型序列结构、Python函数与函数式编程、Python文件和数据库操作、面向对象程序设计、模块和包、字符串操作与正则表达式应用,以及并发、并行与多任务编程等内容。
为提升学习效果,本书结合实际应用,提供了大量的案例,并配以完善的学习资料和支持服务,包括教学大纲、教学PPT、源代码、教学视频、配套软件等,为读者带来全方位的学习体验。
本书既可作为高等学校计算机相关专业Python程序设计课程的教材,也可作为自学者使用的参考用书,是一本适用于Python程序开发初学者的入门教材。
本书既可作为高等学校计算机相关专业Python程序设计课程的教材,也可作为自学者使用的参考用书,是一本适用于Python程序开发初学者的入门教材。为提升学习效果,本书结合实际应用,提供了大量的案例,并配以完善的学习资料和支持服务,包括教学PPT、教学大纲、源代码、教学视频、配套软件等,为读者带来全方位的学习体验。
Python语言于20世纪90年代初由荷兰人Guido van Rossum首次公开发布,经过历次版本的修正,不断演化改进,目前已成为最受欢迎的程序设计语言之一。近年来,Python语言多次登上诸如TIOBE、PYP、StackOverFlow、GitHub、Indeed、Glassdoor等各大编程语言社区排行榜。根据TIOBE最新排名,Python语言与Java、C语言一起成为全球最流行编程语言的前3位。
Python语言之所以如此受欢迎,其主要原因是它拥有简洁的语法、良好的可读性以及功能的可扩展性。在各高校及各行业应用层面,采用Python语言做教学、科研、应用开发的机构日益增多。在高校方面,一些国际知名大学采用Python语言来教授程序设计课程,典型的有麻省理工学院的计算机科学及编程导论、美国卡耐基梅隆大学的编程基础、加州大学伯克利分校的人工智能课程。在行业应用方面,Python语言已经渗透到数据分析、互联网开发、工业智能化、游戏开发等重要的工业应用领域。鉴于Python语言的上述诸多优点,受到诸多学习者的热捧。
本书的编写原则如下。
(1)适应原则。Python语言有自己独特的语法以及编程方式,在编程语言的大框架下,分析这些编程语言的细节差异,使读者能够很好地适应Python语言的学习。
(2)科学原则。本书既是知识产品的再生产、再创造,也是编者教学经验的总结和提高,其覆盖范围广、内容新,既有面的铺开,又有点的深化,举例符合题意,使读者学习起来事半功倍。
本书从基础和实践两个层面引导读者学习Python语言这门学科,系统、全面地讨论了Python语言编程的思想和方法。第1~3章主要介绍了Python语言的基本知识以及理论基础。第4~8章详细介绍了Python语言编程的核心技术,着眼于控制语句与函数、模块和包、类和继承、文件和I/O的重点知识使用场景以及注意事项的描述,每一个章节都给出了详细的Python语言程序,让读者全面理解Python语言编程。第7章是程序开发的进阶,着重介绍了抽象类、多继承等知识点,并针对每一个知识点给出了详细的例子。第9章重点介绍了正则表达式,并针对每一个知识点给出相关示例。第10章介绍了并发、并行与多任务编程的基本概念以及提高程序执行效率的实现方法。
由于编者水平有限,加之Python语言的发展日新月异,书中难免会有疏漏和不妥之处,敬请广大读者批评指正。
编者
2025年1月
第1章Python概述/1
1.1认识Python语言1
1.1.1计算机与编程语言1
1.1.2Python的发展历程2
1.1.3Python的特点3
1.1.4Python的应用领域与发展趋势4
1.2Windows下的Python开发环境5
1.2.1常见的Python开发工具5
1.2.2Python的编程模式6
1.2.3Python开发运行环境安装7
1.2.4使用IDLE编写I Love Python!10
1.2.5PyCharm的安装与使用12
1.3Python程序的运行原理20
1.3.1计算机程序的运行方式20
1.3.2Python程序的运行方式20
1.3.3Python的解释器类型21
1.3.4Python语言的文件类型22
1.4本章小结23
1.5习题23
第2章Python基本语法/24
2.1Python程序设计的基本元素24
2.2Python语法特点26
2.3标识符与变量、常量27
2.3.1标识符与保留字27
2.3.2变量的定义与赋值28
2.3.3常量的定义32
2.4基本数据类型33
2.4.1数值类型33
2.4.2布尔类型34
2.4.3字符串类型35〖1〗Python程序设计基础案例教程(第2版)目录〖3〗〖3〗2.4.4NoneType类型37
2.4.5数据类型转换37
2.4.6对象和引用39
2.5基本输入/输出40
2.5.1基于input()函数输入40
2.5.2基于print()函数输出41
2.5.3字符串的格式化输出43
2.6常见的运算符与表达式45
2.6.1运算符与表达式45
2.6.2算术运算符47
2.6.3赋值运算符49
2.6.4关系运算符50
2.6.5逻辑运算符51
2.6.6条件(三目)运算符53
2.6.7位运算符53
2.6.8成员运算符54
2.6.9运算符的优先级54
2.7本章小结55
2.8习题55
第3章Python的基本流程控制/56
3.1基本语句及顺序结构56
3.1.1基本语句57
3.1.2顺序结构58
3.2选择结构语句59
3.2.1if语句59
3.2.2ifelse语句60
3.2.3ifelifelse语句61
3.2.4if分支语句嵌套63
3.3循环结构65
3.3.1while循环语句65
3.3.2for语句和内置函数range()67
3.3.3循环语句嵌套69
3.4转移和中断语句71
3.4.1break语句71
3.4.2continue语句73
3.4.3pass语句75
3.5whileelse与forelse语句75
3.5.1whileelse语句75
3.5.2forelse语句76
3.6程序的错误与异常处理77
3.6.1程序的错误与处理77
3.6.2程序的异常与处理77
3.7循环与选择结构综合应用案例79
3.8本章小结80
3.9习题80
第4章Python的4种典型序列结构/82
4.1序列82
4.1.1序列概述82
4.1.2序列的基本操作82
4.2列表86
4.2.1列表的创建与删除86
4.2.2列表元素的访问与遍历87
4.2.3列表元素的常用操作(增加、删除、修改、查找)90
4.2.4列表元素的统计与排序95
4.2.5列表的嵌套97
4.2.6列表的综合应用97
4.3元组98
4.3.1元组的创建与删除98
4.3.2元组的常见操作100
4.3.3元组的序列解包102
4.3.4元组与列表的区别及相互转换102
4.3.5元组的综合应用103
4.4字典103
4.4.1字典的创建104
4.4.2字典元素的访问与遍历106
4.4.3字典元素的常见操作(增加、删除、修改、查找)107
4.4.4字典的综合应用109
4.5集合110
4.5.1集合的创建111
4.5.2集合元素的常见操作(增加、删除、查找)112
4.5.3集合的交集、并集和差集运算113
4.5.4集合的综合应用113
4.6推导式与生成器推导式114
4.6.1列表推导式114
4.6.2字典推导式116
4.6.3集合推导式117
4.6.4元组的生成器推导式117
4.7综合应用案例: 实现简易版开心背单词系统118
4.8本章小结120
4.9习题120
第5章Python函数与函数式编程/122
5.1函数的定义和调用122
5.1.1内置函数122
5.1.2自定义函数与调用123
5.1.3函数的返回值125
5.1.4函数的嵌套调用126
5.2函数的参数与值传递126
5.2.1函数的形参和实参127
5.2.2位置参数128
5.2.3关键字参数129
5.2.4默认参数130
5.2.5不定长可变参数130
5.2.6可变参数的装包与拆包132
5.3变量的作用域133
5.3.1LEGB原则134
5.3.2全局变量和局部变量134
5.4函数嵌套和递归函数136
5.4.1函数嵌套136
5.4.2递归函数136
5.5函数式编程137
5.5.1匿名函数: lambda138
5.5.2内置高阶函数: map()140
5.5.3内置高阶函数: reduce()141
5.5.4内置高阶函数: filter()142
5.5.5zip()函数143
5.6闭包及其应用143
5.6.1函数的引用143
5.6.2闭包概述144
5.6.3闭包的应用145
5.7装饰器及其应用145
5.7.1装饰器的概念145
5.7.2装饰器的应用146
5.8迭代器及其应用149
5.8.1迭代器的概念149
5.8.2迭代器的应用151
5.9生成器及其应用152
5.9.1生成器的概念152
5.9.2生成器的应用153
5.10综合案例: 利用函数模拟ATM的业务流程153
5.11本章小结156
5.12习题156
第6章Python文件和数据库操作/157
6.1文件相关的基本概念157
6.1.1文件与路径157
6.1.2文件的编码158
6.1.3文本文件与二进制文件的区别160
6.2文件夹与目录操作160
6.2.1os.path模块160
6.2.2获取与改变工作目录161
6.2.3目录与文件操作161
6.2.4文件的重命名和删除162
6.3文件基本的操作163
6.3.1文件的打开和关闭164
6.3.2文件的读取与写入166
6.3.3按行对文件内容读写168
6.3.4使用fileinput对象读取大文件操作169
6.4JSON格式文件及其操作171
6.4.1JSON概述171
6.4.2读写JSON文件171
6.4.3数据格式转化对应表173
6.5Python操作MySQL数据库174
6.6.1PyMySQL的安装175
6.5.2PyMySQL操作MYSQL的流程及常用对象175
6.5.3PyMySQL的使用步骤177
6.6综合案例: 消费账单数据读取与修改178
6.7综合应用案例: 利用文件操作实现会员管理登录功能模块179
6.7.1文件类型与数据格式180
6.7.2各功能模块函数的实现180
6.8本章小结184
6.9习题184
第7章面向对象程序设计/185
7.1面向对象基本概念185
7.2定义类与对象186
7.2.1类的定义187
7.2.2对象的定义187
7.3定义类的成员188
7.3.1属性的定义188
7.3.2方法的定义191
7.3.3构造方法和析构方法193
7.4封装195
7.4.1定义与实现私有属性195
7.4.2get和set两个方法处理私有属性196
7.4.3@property装饰器处理私有属性196
7.4.4私有方法与公有方法197
7.5继承198
7.5.1继承定义与实现198
7.5.2方法重写200
7.6多态201
7.7综合应用案例: 会员管理系统设计与实现202
7.7.1系统需求与设计202
7.7.2系统框架实现203
7.7.3管理系统功能实现205
7.7.4主程序模块定义与实现207
7.8本章小结208
7.9习题208
第8章模块和包/209
8.1源程序模块结构209
8.2模块的定义与使用211
8.2.1模块的概念211
8.2.2使用import语句导入模块212
8.2.3使用fromimport语句导入模块213
8.2.4模块搜索目录213
8.2.5模块内置函数214
8.2.6绝对导入和相对导入216
8.3Python中的包216
8.3.1Python程序的包结构216
8.3.2创建和使用包217
8.4引用其他模块218
8.4.1第三方模块的下载与安装218
8.4.2标准模块的使用220
8.4.3常见的标准模块222
8.5日期时间函数223
8.5.1时间函数223
8.5.2日期函数225
8.5.3综合应用: 日历系统的设计与实现227
8.6测试及打包229
8.6.1代码测试229
8.6.2代码打包229
8.7本章小结230
8.8习题231
第9章字符串操作与正则表达式应用/232
9.1字符串的编码转换232
9.1.1字符串的编码233
9.1.2字符串的解码233
9.2字符串的常见操作234
9.2.1字符串查找234
9.2.2字符串修改237
9.2.3字符串判断242
9.2.4字符串的长度计算245
9.2.5字符串的格式化246
9.3正则表达式及常见的基本符号249
9.4re模块实现正则表达式操作251
9.4.1匹配字符串: match()方法252
9.4.2搜索与替换字符串: sub()与subn()函数254
9.4.3分割字符串: split()函数254
9.4.4搜索字符串: search()、findall()和finditer()函数255
9.4.5编译标志257
9.5综合应用: 利用正则表达式实现自动图片下载258
9.6本章小结259
9.7习题259
第10章并发、并行与多任务编程/261
10.1并发、并行与多任务261
10.1.1并发261
10.1.2并行261
10.1.3多任务263
10.1.4I/O密集型任务与CPU密集型任务263
10.2进程与线程264
10.2.1进程264
10.2.2线程265
10.2.3进程与线程的区别266
10.2.4全局锁267
10.3多进程267
10.3.1multiprocessing库267
10.3.2创建多进程267
10.3.3多进程通信269
10.3.4进程池272
10.4多线程276
10.4.1threading模块276
10.4.2多线程同步279
10.4.3多线程通信286
10.4.4线程池288
10.5本章小结291
10.6习题291