内容简介
本书旨在帮助物理学家和工程领域的研究人员利用Python编程语言提升计算效率,解决复杂的物理学问题。作者安东尼·斯科普斯和凯瑟琳·赫夫结合多年的教学与科研经验,从基础到进阶,详细介绍了Python在数值模拟、数据处理、可视化及并行计算等方面的应用。
书中内容涵盖了Python核心语法、NumPy与SciPy等科学计算库的使用、Matplotlib绘图技巧、常微分方程与偏微分方程的数值解法、蒙特卡洛模拟、以及如何利用高性能计算工具加速物理模拟。每章都配有丰富的物理实例和代码片段,帮助读者将理论转化为实践。
无论是学生、研究人员还是工程师,都能通过本书快速掌握Python在物理学高效计算中的关键技能,从而在研究中更专注于物理问题本身,而非编程细节。
目录
内容提要
序
本书讲什么
本书目标读者
本书不适合哪些人
本书使用示例:辐射衰变常数
阅读本书时应该做哪些事情
本书约定
使用实例代码
安装和设置
Safari® 在线图书
联系方式
第1部分 起步
第1章 命令行简介
1.1 Shell概览
1.3 获取帮助
1.4 权限和共享
1.5 环境
1.6 使用bash编写脚本
1.7 本章小结
第2章 Python编程起步
2.1 运行Python
2.2 注释
2.3 变量
2.4 特殊变量
2.5 操作符
2.6 字符串
2.7 模块
2.8 本章小结
第3章 基本容器
3.1 列表
3.2 元组
3.3 集合
3.4 字典
3.5 本章小结
第4章 流程控制和逻辑运算
4.1 条件语句
4.2 异常
4.3 循环
4.4 本章小结
第5章 使用函数
5.1 Python中的函数
5.2 关键字参数
5.3 变长参数
5.4 多返回值
5.5 作用域
5.6 递归
5.7 lambda
5.8 生成器
5.9 装饰器
5.10 本章小结
第6章 类和对象
6.1 面向对象
6.2 对象
6.3 类
6.4 装饰器和元类
6.5 本章小结
第2 部分 上手
第7章 分析和可视化
7.1 准备数据
7.2 载入数据
7.3 清理和改写数据
7.4 分析
7.5 可视化
7.6 本章小结
第8章 正则表达式
8.1 示例:杂乱的磁性
8.2 命令行中的元字符
8.3 grep、sed、awk
8.4 在文件中查找模式(grep)
8.5 在文件中查找和替换(sed)
8.6 处理数据列(awk)
8.7 Python正则表达式
8.8 本章小结
第9章 NumPy:以数组的形式思考
9.1 数组
9.2 dtype
9.3 切片和视图
9.4 算术和广播
9.6 掩模
9.7 结构数组
9.8 通用函数
9.9 其他有用的函数
9.10 本章小结
第10章 数据存储:文件和HDF5
10.1 Python中的文件
10.2 关于计算机架构的一些说明
10.3 HDF5中的重要思想
10.4 文件处理
10.5 层次布局
10.6 分块
10.7 核内和核外操作
10.8 查询
10.9 压缩
10.10 HDF5工具
10.11 本章小结
第11章 物理中重要的数据结构
11.1 散列表
11.2 数据框
11.3 B树
11.4 k-d树
11.5 本章小结
第12章 并行化执行
12.1 规模和扩展能力
12.2 问题分类
12.3 示例:N体问题
12.4 非并行
12.5 线程
12.6 多处理
12.7 MPI
12.8 本章小结
第13章 软件部署
13.1 部署软件本身
13.2 部署到云端
13.3 在超算上部署
13.4 本章小结
第3部分 完善
第14章 构建流程和软件
14.1 make
14.2 构建和运行软件
14.3 安装
14.4 本章小结
第15章 本地版本控制
15.1 什么是版本控制
15.2 Git起步
15.3 使用Git进行本地版本控制
15.4 本章小结
第16章 远程版本控制
16.2 在GitHub上创建代码库
16.3 声明远程库(git remote)
16.4 向远程库发送提交(git push)
16.5 下载代码库(git clone)
16.6 从远程库获取内容(git fetch)
16.7 合并远程库的内容(git merge)
16.8 Pull等于Fetch加Merge (git pull)
16.9 冲突
16.10 解决冲突
16.11 本章小结
第17章 调试
17.1 遇到一个错误
17.2 print语句
17.3 交互式调试
17.4 在Pythong中调试(pdb)
17.5 剖析
17.6 linting
17.7 本章小结
第18章 测试
18.1 为什么要做测试
18.2 什么情况下要写测试
18.3 在哪里编写测试
18.4 如何测试?测试哪些内容
18.5 运行测试
18.6 边界情形
18.7 单元测试
18.8 集成测试
18.9 回归测试
18.10 测试生成器
18.11 测试覆盖
18.12 测试驱动开发
18.13 本章小结
第4部分 发布
第19章 文档
19.1 为什么文档很重要
19.2 文档类型
19.3 自动化
19.4 本章小结
第20章 出版
20.1 文档处理
20.2 文本编辑器
20.3 标记语言
20.4 本章小结
第21章 协作
21.1 任务单系统
21.2 拉取请求和代码审查
21.3 本章小结
22.2 首次发布权
22.3 什么是公共领域
22.4 选择一个软件许可证
22.5 伯克利软件发布许可证(BSD)
22.6 GNU General Public License (GPL)
22.7 知识共享(CC)
22.8 其他许可证
22.9 更换许可证
22.11 本章小结
第23章 关于计算物理进一步思考
下一步走向何方
术语
作者介绍
欢迎来到异步社区!
异步社区的来历
社区里都有什么?
灵活优惠的购书
社区里还可以做什么?
加入异步
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。