本书是关于Python 基础知识与实践应用的入门教程。全书以案例为导向,以实用为准则,在遵循Python 语言简洁、高效、优雅的前提下,介绍了Python 语言的基础知识及其利用Python 语言进行科学计算、统计分析、数据可视化、人工智能、机器学习及图形用户界面开发方面的知识。全书程序代码为作者多年来从事计算机软件开发的经验总结,具有较强的实用性,可通过邮箱lgfang@scut.edu 联系作者免费索取。本书有关慕课内容及PPT 课件将陆续上传到作者的学堂在线《计算机辅助设计》课程上,欢迎大家选课学习。
本书可作为非计算机专业本科生和研究生计算机应用课程教材,也可以作为从事计算机应用及人工智能方面科技人员的参考书;有关章节页可以作为一般人员学习Python 语言入门教程。
方利国,华南理工大学,副教授 系副主任,本人长期计算机在化学化工方面的应用研究,发表各种论文40余篇,申请国家专利10项,目前已获国家授权专利8项,其中发明2项。硕士论文和博士论文选题均与计算机应用有关。目前已积累丰富的有关化工制图及计算机辅助设计的素材,从事本科生教学已达20年左右,长期主讲计算机辅助设计、能源概论、化工系统工程、化工过程分析与合成、化工微机应用、化工企业管理、化工仪表与自动化等课程,具有丰富的教学经验,多次获得华南理工大学优秀教学奖,分别教研论文10篇。
第1章 Python入门基础 001-087
【本章导读】 001
1.1 Python 概述 001
1.1.1 发展历史 001
1.1.2 安装与启动 002
1.1.3 运行与编码模式 008
1.1.4 变量与常量 008
1.1.5 数据及数据类型 010
1.2 Python 基本运算符及函数 028
1.2.1 基本运算符 028
1.2.2 常用函数 030
1.2.3 数组创建及运算 047
1.2.4 矩阵运算 062
1.3 Python 程序运行与控制结构 064
1.3.1 顺序结构 064
1.3.2 循环结构 064
1.3.3 选择结构 067
1.4 Python 常用标准库和第三方库 070
1.4.1 time 和calendar 070
1.4.2 sys 和os 072
1.4.3 math 和random 073
1.4.4 NumPy 库 073
1.4.5 SymPy 库 074
1.4.6 SciPy 库 075
1.4.7 Matplotlib 库 077
1.4.8 Skimage 库 078
1.4.9 Turtle 库 079
1.4.10 Pyinstaller 库 082
1.4.11 GUI 库 083
1.4.12 数据统计与分析库 086
1.4.13 OpenCV 库 086
1.4.14 Sklearn 087
1.5 Python 前景展望 087
本章重点知识 087
习题 087
第2章 数据图形绘制 088-133
【本章导读】 088
2.1 数据图形绘制概述 088
2.2 布局设置 090
2.2.1 单个axes 布局 090
2.2.2 subplot(ijn) 布局 092
2.2.3 subplots(nrows,ncols,*,**)布局 092
2.2.4 fig.add_axes()布局 093
2.2.5 subplot2grid()布局 094
2.2.6 图中图布局 096
2.3 各种图形绘制函数 096
2.3.1 绘制函数 096
2.3.2 综合应用例子 113
2.4 界面细节设置 114
2.4.1 文字设置 115
2.4.2 坐标轴设置 116
2.4.3 网格设置(网格线型、线宽) 118
2.4.4 线型线宽设置 119
2.4.5 颜色设置 120
2.4.6 数据点标记设置 120
2.4.7 文本标注 121
2.4.8 箭头文本 121
2.4.9 共享坐标轴 122
2.4.10 图例设置 123
2.5 实际案例绘制 124
2.5.1 多根函数绘制 125
2.5.2 离心泵性能曲线绘制 125
2.5.3 二维函数值色图绘制 127
2.5.4 地壳元素含量饼状图绘制 129
2.6 3D 图像绘制 130
2.7 二维绘制命令在三维空间绘制 131
本章重点知识 133
习题 133
第3章 过程方程求解 134-152
【本章导读】 134
3.1 超越方程求解 134
3.1.1 基本方法 134
3.1.2 编程求解 136
3.1.3 库函数求解 140
3.1.4 实例求解分析 141
3.2 线性方程组求解 143
3.2.1 基本方法 143
3.2.2 编程求解 145
3.2.3 库函数求解 145
3.2.4 病态方程组分析 147
3.3 非线性方程组求解 148
3.3.1 基本方法 148
3.3.2 编程求解 148
3.3.3 库函数求解 151
本章重点知识 152
习题 152
第4章 微分方程求解 153-187
【本章导读】 153
4.1 微分方程应用概述 153
4.2 常微分方程求解 154
4.2.1 基本方法 154
4.2.2 编程求解 156
4.2.3 库函数求解 158
4.3 常微分方程组求解 159
4.3.1 基本方法 159
4.3.2 库函数求解 161
4.3.3 实例求解 164
4.3.4 边值问题 165
4.4 偏微分方程求解 168
4.4.1 基本方法 168
4.4.2 编程求解 172
4.4.3 实例应用 175
4.5 库函数求解偏微分方程 176
4.5.1 FiPy 库简介及安装 176
4.5.2 FiPy 库具体应用 177
本章重点知识 186
习题 186
第5章 过程系统优化 188-210
【本章导读】 188
5.1 优化问题概述 188
5.1.1 优化数学模型 188
5.1.2 优化问题的基本方法 189
5.2 无约束问题优化求解 190
5.2.1 单变量函数优化 190
5.2.2 多变量函数优化 195
5.2.3 库函数求解无约束问题 197
5.3 线性优化求解 201
5.3.1 线性规划概述 201
5.3.2 线性规划通用模型 201
5.3.3 线性规划库函数求解 201
5.3.4 灵敏度分析 203
5.4 非线性规划求解 205
5.4.1 非线性规划求解基本方法 205
5.4.2 非线性规划库函数优化求解 206
本章重点知识 210
习题 210
第6章 模型参数拟合及辨识 211-235
【本章导读】 211
6.1 参数拟合及辨识的标准 211
6.1.1 问题的提出 211
6.1.2 标准的确定 212
6.2 单变量拟合 213
6.2.1 基本方法 213
6.2.2 库函数拟合 217
6.2.3 灵活应用 218
6.3 多变量拟合 220
6.3.1 基本方法 221
6.3.2 库函数拟合 221
6.3.3 灵活应用 223
6.4 过程参数辨识 224
6.4.1 问题提出 224
6.4.2 求解策略 225
6.4.3 编程求解 225
6.5 解矛盾方程 233
6.5.1 问题的提出 233
6.5.2 实例求解 233
本章重点知识 234
习题 234
第7章 Python图形用户界面开发 236-261
【本章导读】 236
7.1 图形用户界面开发概述 236
7.2 Python 常用图形用户界面开发库 236
7.3 PyQt5 图形用户界面开发 237
7.3.1 开发环境搭建 237
7.3.2 PyQt5 主要功能及入门 241
7.3.3 几个简单的GUI 设计 243
7.4 复杂用户界面开发应用实例 257
7.4.1 方程求解及过程优化系统开发 257
7.4.2 实验数据处理及图像绘制系统开发 259
本章重点知识 260
习题 261
第8章 数据统计与分析 262-295
【本章导读】 262
8.1 数据统计与分析概述 262
8.1.1 数据 262
8.1.2 统计 263
8.1.3 数据分析 263
8.2 Pandas 库 263
8.2.1 Pandas 库简介 263
8.2.2 Series 数据结构 264
8.2.3 DataFrame 数据结构 270
8.2.4 时序数据 279
8.3 Seaborn 库统计图形绘制 282
8.3.1 Seaborn 库概述 282
8.3.2 Seaborn 库图形绘制 282
8.4 Statsmodels 库统计分析应用 290
8.4.1 Statsmodels 库概述 290
8.4.2 Statsmodels 库统计分析 290
本章重点知识 295
习题 295
第9章 图像处理 296-327
【本章导读】 296
9.1 图像处理概述 296
9.1.1 图像 296
9.1.2 图像处理 296
9.1.3 图像处理常用第三方库 297
9.2 OpenCV 图像处理基础 299
9.2.1 图像读入与显示 299
9.2.2 图像数据获取 300
9.2.3 三通道分离与合并 301
9.2.4 图像数据简单处理 302
9.3 图像处理基本函数 303
9.3.1 图像颜色数据直方图函数 303
9.3.2 图像颜色阈值处理函数 304
9.3.3 自适应阈值函数 306
9.3.4 图像形态学函数 307
9.3.5 图像几何处理函数 310
9.3.6 几种绘制轮廓的函数 312
9.4 机器学习及图像处理基础 314
9.4.1 机器学习定义 314
9.4.2 机器学习分类 314
9.4.3 机器学习算法开发步骤 315
9.4.4 k 均值聚类算法 316
9.4.5 K-近邻算法 324
本章重点知识 327
习题 327
第10章 Python智能算法实战 328-371
【本章导读】 328
10.1 智能算法概述 328
10.2 人工神经网络算法 329
10.2.1 神经网络的基本原理 329
10.2.2 BP 神经网络 332
10.2.3 BP 神经网络物性估算实例求解 340
10.2.4 方法展望 342
10.3 遗传算法 343
10.3.1 算法基本原理 343
10.3.2 遗传算法实现流程图 343
10.3.3 实例求解 348
10.3.4 方法展望 354
10.4 模拟退火算法 355
10.4.1 算法基本原理 355
10.4.2 算法实现基本流程 355
10.4.3 实例求解 358
10.4.4 方法展望 360
10.5 粒子算法 361
10.5.1 算法基本原理 361
10.5.2 算法实现步骤 361
10.5.3 实例求解 362
10.5.4 方法展望 364
10.6 蚁群算法 364
10.6.1 算法基本原理 364
10.6.2 算法实现步骤 365
10.6.3 实例求解 368
10.6.4 方法展望 371
本章重点知识 371
习题 371
参考文献 372