Python语言程序设计(微课版)
作者:曹洁,张志锋,孙玉胜,崔霄 等编著
出版时间: 2019年版
丛编项: 高等院校信息技术规划教材
内容简介
Python是一门简单易学、功能强大的优雅编程语言。它内建了高效的数据结构,丰富的第三方开发库,能够用简单而高效的方式编程。本书由浅入深、步步引导、循序渐进地讲述Python语言的基础知识、基本语法。本书用12章的篇幅来介绍Python语言,包括Python语言基础、选择结构程序设计、循环结构程序设计、函数、正则表达式、文件与文件夹操作、面向对象程序设计、模块和包、算法与数据结构基础、错误和异常处理、图形用户界面、用matplotlib实现数据可视化。 本书可作为高等院校各专业的Python语言教材,也可作为软件开发人员的参考资料,还可作为Python语言自学者的参考书。
目录
目录
Contents
第1章Python语言基础1
1.1Python语言的特点1
1.2Python应用领域2
1.3Python解释器3
1.4Python开发环境的安装3
1.5编写Python代码6
1.5.1用文本编辑器编写代码6
1.5.2用命令行格式的Python Shell编写代码9
1.5.3用带图形界面的Python Shell编写交互式
代码10
1.5.4用带图形界面的Python Shell编写程序代码11
1.6Python中的注释12
1.6.1Python中的单行注释12
1.6.2Python中的多行注释12
1.7Python中的对象12
1.7.1对象的身份13
1.7.2对象的类型13
1.7.3对象的值13
1.7.4对象的引用13
1.7.5对象的共享引用14
1.7.6对象是否相等的判断14
1.8Python中的变量15
1.9Python中的基本数据类型15
1.9.1number16
1.9.2string17
1.9.3list31
1.9.4tuple391.9.5dictionary41
1.9.6set46
1.9.7Python数据类型之间的转换49
1.10Python中的运算符51
1.11Python中的数据输入56
1.12Python中的数据输出57
1.12.1表达式语句输出57
1.12.2print()函数输出58
1.12.3字符串对象的format方法的格式化输出60
1.13Python中的文件的基本操作63
1.14Python库的导入与扩展库的安装64
1.14.1库的导入64
1.14.2扩展库的安装65
习题66
第2章选择结构程序设计68
2.1布尔表达式68
2.2选择结构69
2.2.1单向if语句69
2.2.2双向ifelse语句70
2.2.3嵌套if和多向ifelifelse语句71
2.3条件表达式73
2.4选择结构程序举例74
习题77
第3章循环结构程序设计78
3.1while循环78
3.2循环控制策略83
3.2.1交互式循环83
3.2.2哨兵式循环84
3.2.3文件式循环85
3.3for循环86
3.3.1for循环的基本用法86
3.3.2for循环与range()函数的结合使用89
3.4循环中的break、continue和else92
3.4.1用break语句提前终止循环92
3.4.2用continue语句提前结束本次循环93
3.4.3循环语句的else子句93
3.5循环结构程序举例96
习题100
第4章函数101
4.1为什么要用函数101
4.2怎样定义函数103
4.3函数调用104
4.3.1带有返回值的函数调用104
4.3.2不带返回值的函数调用107
4.4函数参数传递107
4.5函数参数的类型108
4.5.1位置参数108
4.5.2关键字参数108
4.5.3默认值参数109
4.5.4可变长度参数109
4.5.5序列解包参数110
4.6函数模块化112
4.7lambda表达式113
4.7.1lambda和def的区别114
4.7.2自由变量对lambda表达式的影响116
4.8变量的作用域117
4.8.1变量的局部作用域117
4.8.2变量的全局作用域118
4.8.3变量的嵌套作用域119
4.9函数的递归调用120
4.10常用内置函数124
4.10.1map()函数124
4.10.2reduce()函数125
4.10.3filter()函数127
4.11函数举例127
习题133
第5章正则表达式134
5.1什么是正则表达式134
5.2正则表达式的构成134
5.3正则表达式的模式匹配137
5.3.1正则表达式的边界匹配137
5.3.2正则表达式的分组、选择和引用匹配138
5.3.3正则表达式的贪婪匹配与懒惰匹配141
5.4正则表达式模块re142
5.5正则表达式对象145
5.6Match对象148
5.7正则表达式举例150
习题152
第6章文件与文件夹操作154
6.1文本文件154
6.1.1文本文件的字符编码154
6.1.2文本文件的打开156
6.1.3文本文件的写入159
6.1.4文本文件的读取160
6.1.5文本文件指针的定位162
6.2二进制文件163
6.2.1二进制文件的写入163
6.2.2二进制文件的读取164
6.2.3字节数据类型的转换164
6.3文件与文件夹操作166
6.3.1使用os操作文件与文件夹166
6.3.2使用os.path操作文件与文件夹168
6.3.3使用shutil操作文件与文件夹170
6.4csv文件的读取和写入172
6.4.1使用csv.reader()读取csv文件172
6.4.2使用csv.writer()写入csv文件173
6.4.3使用csv.DictReader()读取csv文件175
6.4.4使用csv.DictWriter()写入csv文件176
6.4.5csv文件的格式化参数177
6.4.6自定义dialect179
6.5文件与文件操作举例180
习题181
第7章面向对象程序设计182
7.1定义类183
7.2创建类的对象184
7.3类中的属性185
7.3.1类的对象属性185
7.3.2类属性186
7.3.3私有属性和公有属性188
7.3.4@property装饰器189
7.4类中的方法192
7.4.1类的对象方法192
7.4.2类方法194
7.4.3类的静态方法195
7.5类的继承196
7.5.1单继承196
7.5.2类的多重继承200
7.5.3类成员的继承和重写203
7.5.4查看继承的层次关系203
7.6object类204
7.7对象的引用、浅复制和深复制205
7.7.1对象的引用205
7.7.2对象的浅复制208
7.7.3对象的深复制209
7.8面向对象程序举例210
习题213
第8章模块和包214
8.1模块214
8.1.1模块的创建214
8.1.2模块的导入和使用215
8.1.3模块的主要属性216
8.2导入模块时搜索目录的顺序与系统目录的添加219
8.2.1导入模块时搜索目录的顺序219
8.2.2使用sys.path.append()临时增添系统目录220
8.2.3使用pth文件永久添加系统目录220
8.2.4使用PYTHONPATH环境变量永久添加系统目录221
8.3包221
8.3.1包的创建221
8.3.2包的导入与使用222
习题223
第9章算法与数据结构基础224
9.1算法概述224
9.2查找算法225
9.2.1顺序查找225
9.2.2二分查找226
9.2.3插值查找228
9.3排序算法229
9.3.1冒泡排序229
9.3.2选择排序230
9.3.3插入排序231
9.3.4归并排序232
9.3.5快速排序233
9.4常用数据结构235
9.4.1自定义矩阵235
9.4.2自定义栈240
9.4.3自定义队列242
9.4.4自定义二叉树245
习题252
第10章错误和异常处理253
10.1程序的错误253
10.1.1常犯的9个错误253
10.1.2常见的错误类型256
10.2异常处理概述259
10.2.1异常概述259
10.2.2异常类型259
10.2.3异常处理260
10.2.4主动抛出异常265
10.2.5自定义异常类267
10.3断言处理269
10.3.1断言处理概述269
10.3.2启用/禁用断言270
10.3.3断言使用场景270
10.4程序的调试方法272
10.4.1使用print调试272
10.4.2使用IDLE调试272
10.4.3使用pdb调试276
习题283
第11章图形用户界面284
11.1图形用户界面库284
11.2tkinter模块285
11.2.1tkinter概述285
11.2.2tkinter图形用户界面的构成286
11.3tkinter主要的构件类287
11.3.1Label类287
11.3.2Button类291
11.3.3Radiobutton类295
11.3.4Checkbutton类296
11.3.5Listbox类298
11.3.6Menu类301
11.3.7Message类305
11.3.8Entry类307
11.3.9Text类308
11.3.10Frame类312
11.4几何布局管理器312
11.4.1pack布局管理器313
11.4.2grid布局管理器314
11.4.3place布局管理器316
习题317
第12章用matplotlib实现数据可视化318
12.1matplotlib架构318
12.1.1后端层319
12.1.2表现层319
12.1.3脚本层321
12.2matplotlib的pyplot子库322
12.2.1绘制线形图324
12.2.2绘制直方图331
12.2.3绘制条形图333
12.2.4绘制饼图336
12.2.5绘制散点图339
习题341
参考文献342