- ISBN:9787115481146
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:254
- 出版时间:2017-05-01
- 条形码:9787115481146 ; 978-7-115-48114-6
本书特色
本书旨在通过实际的Python 3.0代码示例展示Python与数学应用程序的紧密联系,介绍将Python中的各种概念用于科学计算的方法。 本书共有15章。第1~3章介绍Python中的主要语法元素、基本数据类型、容器类型等概念;第4~9章介绍线性代数、数组、函数、类、迭代等与数学数据类型紧密相关的内容;第10~14章就有关科学计算程序运行过程中错误处理、输入输出、测试等问题进行探索,并具体给出了一些综合实例,以帮助读者进一步掌握前述章节所涵盖的内容;第15章介绍符号计算的相关内容,旨在让读者了解这一常用于推导和验证理论上的数学模型和数值结果的技术。 本书特色鲜明,示例生动有趣,内容易读易学,既适合Python初学者和程序员阅读,也适合高校计算机专业的教师和学生参考。具有编程经验以及科学计算的爱好者也可以将本书作为研究SciPy和NumPy的参考资料。
内容简介
本书旨在通过实际的Python 3.0代码示例展示Python与数学应用程序的紧密联系,介绍将Python中的各种概念用于科学计算的方法。本书共有15章。靠前~3章介绍Python中的主要语法元素、基本数据类型、容器类型等概念;第4~9章介绍线性代数、数组、函数、类、迭代等与数学数据类型紧密相关的内容;靠前0~14章就有关科学计算程序运行过程中错误处理、输入输出、测试等问题进行探索,并具体给出了一些综合实例,以帮助读者进一步掌握前述章节所涵盖的内容;靠前5章介绍符号计算的相关内容,旨在让读者了解这一常用于推导和验证理论上的数学模型和数值结果的技术。本书特色鲜明,示例生动有趣,内容易读易学,既适合Python初学者和程序员阅读,也适合高校计算机专业的教师和学生参考。具有编程经验以及科学计算的爱好者也可以将本书作为研究SciPy和NumPy的参考资料。
目录
目录
第 1章 入门 1
1.1 安装和配置说明 1
1.1.1 安装 1
1.1.2 Anaconda 2
1.1.3 配置 3
1.1.4 Python Shell 3
1.1.5 执行脚本 3
1.1.6 获取帮助 4
1.1.7 Jupyter ?C Python笔记本 4
1.2 程序与控制流 4
1.2.1 注释 5
1.2.2 行连接 5
1.3 基本类型 6
1.3.1 数值类型 6
1.3.2 字符串 6
1.3.3 变量 7
1.3.4 列表 7
1.3.5 列表运算符 8
1.3.6 布尔表达式 8
1.4 使用循环来重复语句 9
1.4.1 重复任务 9
1.4.2 break和else 9
1.5 条件语句 10
1.6 使用函数封装代码 10
1.7 脚本和模块 11
1.7.1 简单的模块—函数的
集合 12
1.7.2 使用模块和命名空间 13
1.8 解释器 13
1.9 小结 14
第 2章 变量和基本数据类型 15
2.1 变量 15
2.2 数值类型 16
2.2.1 整数类型 17
2.2.2 浮点数 17
2.2.3 复数 20
2.3 布尔类型 23
2.3.1 布尔运算符 23
2.3.2 布尔类型转换 24
2.3.3 布尔类型自动转换 24
2.3.4 and和or的返回值 25
2.3.5 布尔值和整数 26
2.4 字符串类型 26
2.5 小结 29
2.6 练习 30
第3章 容器类型 33
3.1 列表 33
3.1.1 切片 34
3.1.2 步长 36
3.1.3 列表修改 36
3.1.4 是否属于列表 37
3.1.5 列表方法 37
3.1.6 原位操作 38
3.1.7 列表合并—zip 39
3.1.8 列表推导 39
3.2 数组 40
3.3 元组 41
3.4 字典 42
3.4.1 创建和修改字典 42
3.4.2 循环遍历字典 43
3.5 集合 44
3.6 容器类型转换 45
3.7 类型检查 46
3.8 小结 47
3.9 练习 47
第4章 线性代数—数组 50
4.1 数组类型概要 50
4.1.1 向量和矩阵 50
4.1.2 索引和切片 52
4.1.3 线性代数运算 52
4.2 数学基础 53
4.2.1 作为函数的数组 54
4.2.2 基于元素的运算 54
4.2.3 形状和维数 54
4.2.4 点运算 55
4.3 数组类型 57
4.3.1 数组属性 57
4.3.2 用列表创建数组 57
4.4 访问数组项 59
4.4.1 基本数组切片 59
4.4.2 使用切片修改数组 61
4.5 数组构造函数 61
4.6 访问和修改形状 62
4.6.1 shape函数 62
4.6.2 维数 63
4.6.3 重塑 63
4.7 叠加 65
4.8 作用于数组的函数 66
4.8.1 通用函数 66
4.8.2 数组函数 68
4.9 SciPy中的线性代数方法 69
4.9.1 使用LU来求解多个线性
方程组 70
4.9.2 使用SVD来解决*小二乘
问题 71
4.9.3 其他方法 72
4.10 小结 72
4.11 练习 73
第5章 高级数组 75
5.1 数组视图和副本 75
5.1.1 数组视图 75
5.1.2 切片视图 76
5.1.3 转置和重塑视图 76
5.1.4 复制数组 76
5.2 数组比较 77
5.2.1 布尔数组 77
5.2.2 数组布尔运算 78
5.3 数组索引 79
5.3.1 使用布尔数组进行索引 79
5.3.2 使用where命令 80
5.4 代码性能和向量化 81
5.5 广播 83
5.5.1 数学视角 83
5.5.2 广播数组 86
5.5.3 典型示例 88
5.6 稀疏矩阵 90
5.6.1 稀疏矩阵格式 91
5.6.2 生成稀疏矩阵 94
5.6.3 稀疏矩阵方法 94
5.7 小结 95
第6章 绘图 96
6.1 基本绘图 96
6.2 格式化 100
6.3 meshgrid和contours函数 103
6.4 图像和等值线 106
6.5 matplotlib对象 108
6.5.1 坐标轴对象 108
6.5.2 修改线条属性 109
6.5.3 注释 110
6.5.4 曲线间的填充面积 111
6.5.5 刻度和刻度标签 112
6.6 绘制三维图 113
6.7 用绘图制作电影 116
6.8 小结 117
6.9 练习 117
第7章 函数 120
7.1 基本原理 120
7.2 形参和实参 121
7.2.1 参数传递—通过位置和
关键字 121
7.2.2 更改实参 122
7.2.3 访问本地命名空间之外
定义的变量 122
7.2.4 默认参数 123
7.2.5 可变参数 124
7.3 返回值 125
7.4 递归函数 126
7.5 函数文档 128
7.6 函数是对象 128
7.7 匿名函数—lambda
关键字 130
7.8 装饰器 131
7.9 小结 132
7.10 练习 133
第8章 类 135
8.1 类的简介 136
8.1.1 类语法 136
8.1.2 _ _init_ _方法 137
8.2 属性和方法 138
8.2.1 特殊方法 139
8.2.2 彼此依赖的属性 143
8.2.3 绑定和未绑定方法 145
8.2.4 类属性 146
8.2.5 类方法 146
8.3 子类和继承 148
8.4 封装 151
8.5 装饰器类 152
8.6 小结 154
8.7 练习 154
第9章 迭代 156
9.1 for语句 156
9.2 控制循环内流程 157
9.3 迭代器 158
9.3.1 生成器 159
9.3.2 迭代器是一次性的 159
9.3.3 迭代器工具 160
9.3.4 递归序列的生成器 161
9.4 加速收敛 163
9.5 列表填充模式 165
9.5.1 使用append方法来填充
列表 165
9.5.2 迭代器中的列表 166
9.5.3 存储生成的值 166
9.6 将迭代器作为列表使用 167
9.6.1 生成器表达式 167
9.6.2 压缩迭代器 168
9.7 迭代器对象 169
9.8 无限迭代 170
9.8.1 while循环 170
9.8.2 递归 171
9.9 小结 171
9.10 练习 172
第 10章 异常处理 175
10.1 什么是异常 175
10.1.1 基本原理 177
10.1.2 用户定义异常 179
10.1.3 上下文管理器—
with语句 180
10.2 查找错误:调试 181
10.2.1 漏洞 182
10.2.2 堆栈 182
10.2.3 Python调试器 183
10.2.4 调试命令 185
10.2.5 IPython调试 186
10.3 小结 187
第 11章 命名空间、范围和模块 188
11.1 命名空间 188
11.2 变量范围 189
11.3 模块 191
11.3.1 简介 191
11.3.2 IPython模块 192
11.3.3 变量_ _name_ _ 193
11.3.4 一些有用的模块 193
11.4 小结 194
第 12章 输入和输出 195
12.1 文件处理 195
12.1.1 文件交互 195
12.1.2 文件是可迭代的 196
12.1.3 文件模式 197
12.2 NumPy方法 198
12.2.1 savetxt 198
12.2.2 loadtxt 198
12.3 Pickling 199
12.4 Shelves 200
12.5 读写Matlab数据文件 200
12.6 读写图像 201
12.7 小结 202
第 13章 测试 203
13.1 手动测试 203
13.2 自动测试 204
13.3 使用unittest包 206
13.4 参数化测试 209
13.5 断言工具 210
13.6 浮点值比较 210
13.7 单元和功能测试 212
13.8 调试 213
13.9 测试发现 213
13.10 测量执行时间 213
13.10.1 用魔法函数计时 214
13.10.2 使用Python的timeit
计时模块 215
13.10.3 用上下文管理器
计时 216
13.11 小结 217
13.12 练习 217
第 14章 综合示例 219
14.1 多项式 219
14.1.1 理论背景 219
14.1.2 任务 220
14.2 多项式类 221
14.3 牛顿多项式 225
14.4 谱聚类算法 226
14.5 解决初始值问题 230
14.6 小结 233
14.7 练习 233
第 15章 符号计算—SymPy 235
15.1 什么是符号计算 235
15.2 SymPy的基本元素 238
15.2.1 符号—所有公式的
基础 238
15.2.2 数字 239
15.2.3 函数 239
15.3 基本函数 241
15.4 符号线性代数 243
15.5 SymPy线性代数方法示例 245
15.6 替换 246
15.7 评估符号表达式 249
15.8 符号表达式转化为数值
函数 250
15.9 小结 252
参考文献 253
作者简介
Claus Führer是瑞典隆德大学科学计算系的教授。他曾在许多国家和教学机构任教,拥有十分丰富的课堂教学经验,所教授的课程涉及各级数值分析和工程数学的密集程序设计。在与工业界的研究he作中,Claus还开发出了数值分析软件,并因此荣获了2016年度隆德大学工程学院教师奖。 Jan Eric Solem是Python的狂热爱好者。他曾任瑞典隆德大学的副教授,目前是Mapillary公司(一家街景计算机视觉公司)的CEO。他曾是Polar Rose公司的创始人兼CTO,并担任人脸识别专家,还担任过苹果公司计算机视觉团队的负责人。Jan是世界经济论坛的技术先驱之一,曾凭借图像分析和模式识别的论文荣获2005—2006年度北美论文奖。他也是《Programming Computer Vision with Python》 一书的作者。 Olivier Verdier于2009年获得了瑞典隆德大学的数学博士学位。他也是德国科隆大学、挪威特隆赫姆大学、挪威卑尔根大学和瑞典乌梅奥大学的博士后。Oliview Verdier早在2007年就开始用Python进行科学计算,目前是挪威卑尔根大学数学系的副教授。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0