图书中心

计算机类首页>图书中心>计算机类

Python程序设计
  • 书     名:Python程序设计
  • 出版时间:2025-09-04
  • 编 著 者:武岳
  • 版       次:1-1
  • I  S  B N:978-7-5635-7664-7
  • 定       价:¥68.00元

内容简介线

Python在IEEE Spectrum发布的2025年编程语言排行榜中,独占鳌头,是一门简单易学、功能强大且非常受欢迎的编程语言。在当今的人工智能时代,Python已经成为主流的通用开发语言。它具有高效的数据结构和丰富的第三方开发库,能够用简单且高效的方式编程。本书由浅入深、循序渐进地讲述了Python语言的基础知识和需要读者深入掌握的知识要点,并介绍了15个项目案例,以加强读者的上机实践能力。
本书适合作为高等院校和培训学校相关专业师生以及编程爱好者的参考书。

目录介绍线

第1部分Python基础
第1章Python概述3
1.1Python语言的背景及特点3
1.2Python环境的搭建5
1.3pip管理和Python扩展库8
1.3.1pip管理8
1.3.2Python 扩展库10
1.4Python IDE10
1.4.1PyCharm11
1.4.2Visual Studio Code18
1.4.3Jupyter Notebook18
本章小结19
练习题19
第2章Python的基本语法20
2.1标识符、保留字符和基本数据类型20
2.1.1标识符20
2.1.2保留字符20
2.1.3基本数据类型21
2.2行和缩进21
2.3解释器与注释21
2.4变量和运算符22
2.4.1变量与赋值23
2.4.2运算符24
本章小结29
练习题29
第3章Python的组合数据类型30
3.1数字30
3.2字符串30
3.2.1字符串的基本操作31
3.2.2字符串的常用方法32
3.3序列概述34
3.4通用的序列操作34
3.4.1索引34
3.4.2切片35
3.4.3成员资格检查36
3.5列表36
3.5.1函数list36
3.5.2列表的基本操作37
3.5.3列表方法38
3.6元组43
3.7字典44
3.7.1字典的用途44
3.7.2字典的创建和使用45
3.8集合52
本章小结53
练习题53
第4章程序控制结构55
4.1条件表达式55
4.1.1关系运算符55
4.1.2逻辑运算符56
4.1.3增强赋值操作57
4.2单分支选择结构——if语句57
4.3双分支选择结构——if...else语句58
4.4多分支选择结构——if...elif...else语句59
4.5选择结构的嵌套60
4.6循环结构60
4.6.1for循环与while循环60
4.6.2break与continue语句61
本章小结62
练习题62
第5章函数64
5.1函数的定义与使用64
5.1.1函数的基本语法64
5.1.2函数嵌套定义65
5.1.3函数的递归调用66
5.2函数参数67
5.2.1位置参数68
5.2.2默认值参数68
5.2.3关键参数70
5.2.4可变长度参数71
5.2.5传递参数时的序列解包71
5.3变量的作用域 73
5.4生成器函数的设计要点75
本章小结76
练习题 77
第6章面向对象78
6.1类的定义与使用78
6.2数据成员与成员方法79
6.2.1私有成员与公有成员79
6.2.2数据成员80
6.2.3成员方法81
6.2.4属性83
6.3继承、多态85
6.3.1继承85
6.3.2多态86
6.4特殊方法与运算符重载87
本章小结88
练习题89
第7章文件90
7.1基本文件操作 90
7.1.1创建和打开文件 90
7.1.2使用with自动关闭文件90
7.1.3写入文件内容 91
7.1.4读取文件 93
7.2目录操作 95
7.2.1使用mkdir创建目录 95
7.2.2使用rmdir删除目录 96
7.2.3使用listdir列出目录内容 96
7.2.4使用chdir修改当前目录 97
7.2.5使用glob列出匹配文件 97
7.3高级文件操作 97
7.3.1用remove删除文件97
7.3.2用rename重命名文件98
7.3.3用exists判断文件是否存在 98
7.3.4用isfile检查名称是不是文件、目录或符号链接98
7.3.5用copy复制文件 99
本章小结99
练习题 99
第8章Python中的正则表达式101
8.1特殊符号和字符101
8.1.1使用择一匹配符号匹配多个正则表达式模式103
8.1.2匹配任意单个字符 103
8.1.3从字符串的起始、结尾位置或者单词边界处匹配103
8.1.4创建字符集104
8.1.5限定范围 104
8.1.6使用闭包操作符实现存在性和频数的匹配 105
8.1.7表示字符集的特殊字符106
8.1.8使用圆括号指定分组106
8.1.9扩展表示法107
8.2正则表达式和 Python 语言 107
8.2.1re模块:核心函数和方法107
8.2.2使用compile函数编译正则表达式109
8.2.3匹配对象以及group和groups方法109
8.2.4使用match方法匹配字符串109
8.2.5使用search在一个字符串中查找模式(搜索与匹配的对比)110
8.2.6匹配多个字符串111
8.2.7匹配任何单个字符111
8.2.8严格限制示例112
8.2.9重复、特殊字符以及分组113
8.2.10匹配字符串的起始和结尾115
8.2.11使用 findall和 finditer查找每一次出现的位置 116
8.2.12使用sub和subn搜索与替换117
8.2.13在限定模式上使用 split分隔字符串 118
8.2.14扩展符号 119
本章小结 123
练习题 123
第9章异常124
9.1异常概述124
9.2异常处理语句124
9.2.1处理ZeroDivisionError异常124
9.2.2使用tryexcept代码块125
9.2.3使用异常避免崩溃125
9.2.4else 代码块126
9.2.5处理FileNotFoundError异常127
9.3程序调试 128
9.3.1使用print进行程序调试 128
9.3.2使用assert语句调试程序 129
本章小结 129
练习题129
第10章模块131
10.1模块概述131
10.2自定义模块132
10.2.1创建模块132
10.2.2使用import语句导入模块132
10.2.3使用from...import语句导入模块132
10.2.4使用from...import语句导入模块133
10.2.5模块搜索目录133
10.3Python中的包133
10.3.1Python中的包结构133
10.3.2创建包134
10.3.3导入包135
10.4模板查看方法137
10.4.1查看模块成员:dir函数137
10.4.2查看模块成员:__all__变量138
10.5Python中常用的内置标准模块138
本章小结139
练习题139
第11章GUI编程140
11.1初识GUI140
11.1.1GUI的定义140
11.1.2常用的GUI框架140
11.1.3安装wxPython141
11.2创建应用程序141
11.2.1创建一个wx.App子类141
11.2.2直接使用wx.App142
11.2.3使用wx.Frame框架143
11.3常用控件144
11.3.1wx.StaticText文本类144
11.3.2wx.TextCtrl输入文本类147
11.3.3wx.Button按钮类148
11.4BoxSizer149
11.4.1BoxSizer的定义150
11.4.2使用BoxSizer布局150
11.5事件处理153
11.5.1事件的定义153
11.5.2绑定事件153
本章小结155
练习题155
第12章Numpy库156
12.1NumPy数组基础156
12.1.1NumPy数组的属性156
12.1.2单个元素的获取157
12.1.3数组切片:获取子数组158
12.1.4数组的变形161
12.1.5数组的拼接和分裂161
12.2NumPy数组的通用函数163
12.2.1缓慢的循环164
12.2.2通用函数介绍165
12.2.3通用函数的存在形式165
12.2.4通用函数的特性167
12.3内置聚合函数169
12.3.1数组值求和169
12.3.2获取数组的最小值和最大值169
12.4广播171
12.4.1广播的介绍171
12.4.2广播的规则172
12.4.3广播的实际应用172
12.5比较、掩码和布尔逻辑173
12.5.1和通用函数类似的比较操作173
12.5.2使用布尔掩码进行数据筛选174
12.5.3操作布尔数组175
12.6花哨索引177
12.6.1探索花哨索引177
12.6.2组合索引179
12.6.3用花哨索引来修改值179
12.7数组的排序180
12.7.1NumPy中的快速排序:np.sort和np.argsort181
12.7.2部分排序:分隔182
12.8结构化数据:NumPy的结构化数组183
12.8.1更高级的复合数据类型183
12.8.2记录数组:结构化数组的扭转183
本章小结184
练习题184
第13章Pandas库185
13.1安装并使用Pandas185
13.2Pandas对象简介186
13.2.1Pandas的Series对象186
13.2.2Pandas的DataFrame对象188
13.2.3Pandas的Index对象192
13.3数据选择195
13.3.1Series数据选择方法195
13.3.2DataFrame数据选择方法197
13.4Pandas数值运算方法198
13.4.1通用函数:保留索引198
13.4.2通用函数:索引对齐199
13.4.3通用函数:DataFrame与Series的运算202
13.5处理缺失值 204
13.5.1Pandas的缺失值 204
13.5.2处理缺失值的方法205
13.5.3选择处理缺失值的方法208
13.6层级索引 209
13.6.1多级索引Series 209
13.6.2多级索引的创建方法 211
13.6.3多级索引的取值212
13.6.4多级索引的行列转换 215
13.6.5多级索引的数据累计方法 218
13.7Concat与Append操作218
13.8合并与连接 224
13.8.1关系代数 224
13.8.2数据连接的类型 224
13.8.3设置数据合并的键227
13.8.4设置数据连接的集合操作规则 230
13.9向量化字符串操作 232
13.9.1Pandas字符串操作简介 232
13.9.2Pandas的向量化字符串方法列表233
13.10处理时间序列 234
13.10.1Python的日期与时间工具 234
13.10.2Pandas时间序列:用时间作索引 235
13.10.3Pandas时间序列的数据结构235
13.11eval与query237
13.11.1用pandas.eval实现高性能运算237
13.11.2用DataFrame.eval实现列间运算238
13.11.3DataFrame.query方法 239
本章小结240
练习题240
第14章Matplotlib库241
14.1Matplotlib的常用技巧 241
14.1.1导入Matplotlib 241
14.1.2设置绘图样式 241
14.1.3显示图形 242
14.1.4将图形保存为文件 245
14.2简易线形图245
14.2.1调整图形:线条的颜色与风格 245
14.2.2调整图形:坐标轴的上下限 247
14.2.3设置图形标签 248
14.3简易散点图 249
14.3.1用plt.plot创建散点图249
14.3.2用plt.scatter创建散点图 249
14.3.3plt.plot与plt.scatter的效率对比 250
14.4密度图与等高线图 250
14.5频次直方图、数据区间划分和分布密度 254
14.6配置图例 258
14.6.1选择图例显示的元素258
14.6.2在图例中显示不同尺寸的点260
14.6.3同时显示多个图例261
14.7配置颜色条261
14.8多子图263
14.8.1plt.axes:手动创建子图263
14.8.2plt.subplot:简易网格子图265
14.8.3plt.subplots:用一行代码创建网格265
14.8.4plt.GridSpec:实现更复杂的排列方式266
14.9文字与注释268
14.9.1坐标变换与文字位置268
14.9.2箭头与注释269
14.10自定义坐标轴刻度271
14.10.1主要刻度与次要刻度271
14.10.2隐藏刻度与标签272
14.10.3自动设置刻度位置273
14.10.4刻度格式273
14.11用Matplotlib画三维图275
14.11.1三维数据点与线276
14.11.2三维等高线图277
14.11.3线框图和曲面图278
14.11.4曲面三角剖分279
本章小结280
练习题281
第2部分项目实战
第15章项目1:Python语言基础285
15.1实验目的与要求285
15.2实验内容285
15.3实验练习287
第16章项目2:Python字符串与流程控制289
16.1实验目的与要求289
16.2实验内容289
16.3实验练习292
第17章项目3:Python函数293
17.1实验目的与要求293
17.2实验内容293
17.3实验练习300
第18章项目4:Python函数的其他相关结构301
18.1实验目的与要求301
18.2实验内容301
18.3实验练习303
第19章项目5:Python面向对象程序设计304
19.1实验目的与要求304
19.2实验内容304
19.3实验练习306
第20章项目6:Python文件的使用307
20.1实验目的与要求307
20.2实验内容307
20.3实验练习309
第21章项目7:Python中的正则表达式310
21.1实验目的与要求310
21.2实验内容310
21.3实验练习312
第22章项目8:Python异常处理313
22.1实验目的与要求313
22.2实验内容313
22.3实验练习315
第23章项目9:GUI编程316
23.1实验目的与要求316
23.2实验内容316
23.3实验练习322
第24章项目10:Numpy库的使用323
24.1实验目的与要求323
24.2实验内容323
24.3实验练习 325
第25章项目11:Pandas库的使用326
25.1实验目的与要求326
25.2实验内容326
25.3实验练习328
第26章项目12:Matplotlib库的使用329
26.1实验目的与要求329
26.2实验内容329
26.3实验练习330
第27章项目13:Python网络爬虫与信息的提取331
27.1实验目的与要求331
27.2实验内容331
27.3实验练习332
第28章项目14:Python实现基于手写数字的BP神经网络333
28.1实验目的与要求333
28.2实验内容333
28.3实验练习335
第29章项目15:Python实现基于scikitlearn 库的鸢尾花数据集的预测336
29.1实验目的与要求336
29.2实验内容336
29.3实验练习340
参考文献341