python 物理学引擎_Python物理学高效计算

第 一部分 起步

第 1章 命令行简介3

1.1 Shell概览3

1.1.1 Shell是 一 款编程

语言4

1.1.2 路径和pwd5

1.1.3 主目录(~)7

1.1.4 列出内容(ls)8

第 一部分 起步

第 1章 命令行简介3

1.1 Shell概览3

1.1.1 Shell是 一 款编程

语言4

1.1.2 路径和pwd5

1.1.3 主目录(~)7

1.1.4 列出内容(ls)8

1.1.5 更改目录(cd)9

1.1.6 查看文件内容(head

和tail命令)12

1.2 操作文件和目录12

1.2.1 创建文件(nano、emacs、

vi、cat、>、

touch)12

1.2.2 复制和重命名文件

(cp和mv)17

1.2.3 创建目录

(mkdir)18

1.2.4 删除文件和目录

(rm)19

1.2.5 标志和通配符21

1.3 获取帮助22

1.3.1 阅读程序手册

(man)22

1.3.2 找到正确的

工具(apropos)24

1.3.3 用重定向和管道组合

多个实用程序

(>、>>、|)25

1.4 权限和共享26

1.4.1 查看权限(ls ?Cl)27

1.4.2 设置所有权28

1.4.3 设置权限

(chmod)29

1.4.4 创建链接(ln)29

1.4.5 连接其他计算机

(ssh和scp)30

1.5 环境31

1.5.1 保存环境变量

(.bashrc)33

1.5.2 运行程序

(PATH)34

1.5.3 别名命令

(alias)35

1.6 使用bash编写脚本36

1.7 本章小结38

第 2章 Python编程起步39

2.1 运行Python40

2.2 注释41

2.3 变量42

2.4 特殊变量44

2.4.1 布尔值44

2.4.2 None不是0!45

2.4.3 NotImplemented

不是None!45

2.5 操作符45

2.6 字符串49

2.6.1 字符串索引50

2.6.2 字符串连接52

2.6.3 字符串字面值53

2.6.4 字符串方法55

2.7 模块56

2.7.1 导入模块56

2.7.2 从模块中导入

变量57

2.7.3 别名导入58

2.7.4 导入变量别名58

2.7.5 包59

2.7.6 标准库和Python

生态系统61

2.8 本章小结62

第3章 基本容器63

3.1 列表64

3.2 元组68

3.3 集合69

3.4 字典71

3.5 本章小结73

第4章 流程控制和逻辑运算75

4.1 条件语句75

4.1.1 if-else语句78

4.1.2 if-elif-else语句79

4.1.3 if-else表达式80

4.2 异常80

4.2.1 抛出异常81

4.3 循环83

4.3.1 while循环83

4.3.2 for循环85

4.3.3 解析式87

4.4 本章小结90

第5章 使用函数91

5.1 Python中的函数91

5.2 关键字参数94

5.3 变长参数96

5.4 多返回值98

5.5 作用域99

5.6 递归102

5.7 lambda103

5.8 生成器104

5.9 装饰器107

5.10 本章小结110

第6章 类和对象112

6.1 面向对象112

6.2 对象113

6.3 类117

6.3.1 类变量118

6.3.2 实例变量120

6.3.3 构造器121

6.3.4 方法123

6.3.5 静态方法126

6.3.6 鸭子类型127

6.3.7 多态128

6.4 装饰器和元类132

6.5 本章小结134

第 2部分 上手

第7章 分析和可视化139

7.1 准备数据139

7.1.1 实验数据143

7.1.2 模拟数据144

7.1.3 元数据145

7.2 载入数据145

7.2.1 NumPy146

7.2.2 PyTables147

7.2.3 Pandas147

7.2.4 Blaze148

7.3 清理和改写数据149

7.4 分析153

7.4.1 模型驱动的分析154

7.4.2 数据驱动的分析155

7.5 可视化156

7.5.1 可视化工具157

7.5.2 gnuplot158

7.5.3 matplotlib160

7.5.4 Bokeh165

7.5.5 Inkscape167

7.6 本章小结167

第8章 正则表达式169

8.1 示例:杂乱的磁性170

8.2 命令行中的元字符171

8.2.1 用简单的模式

列出文件172

8.2.2 根据模式全局查找

文件名(find)173

8.3 grep、sed、awk179

8.4 在文件中查找模式

(grep)179

8.5 在文件中查找和替换

(sed)181

8.5.1 查找和替换复杂

模式183

8.5.2 sed额外内容184

8.6 处理数据列(awk)186

8.7 Python正则表达式188

8.8 本章小结190

第9章 NumPy:以数组的形式

思考192

9.1 数组193

9.2 dtype195

9.3 切片和视图198

9.4 算术和广播200

9.5 花式索引204

9.6 掩模206

9.7 结构数组209

9.8 通用函数211

9.9 其他有用的函数213

9.10 本章小结215

第 10章 数据存储:文件和

HDF5216

10.1 Python中的文件217

10.2 关于计算机架构的一些说明221

10.3 HDF5中的重要思想223

10.4 文件处理225

10.5 层次布局227

10.6 分块229

10.7 核内和核外操作233

10.7.1 核内233

10.7.2 核外234

10.8 查询235

10.9 压缩236

10.10 HDF5工具237

10.11 本章小结239

第 11章 物理中重要的数据

结构240

11.1 散列表240

11.1.1 调整大小242

11.1.2 冲突243

11.2 数据框245

11.2.1 Series246

11.2.2 DataFrame结构247

11.3 B数250

11.4 k-d树252

11.5 本章小结256

第 12章 并行化执行258

12.1 规模和扩展能力259

12.2 问题分类261

12.3 示例:N体问题262

12.4 非并行263

12.5 线程267

12.6 多处理273

12.7 MPI276

12.8 本章小结281

第 13章 软件部署283

13.1 部署软件本身284

13.1.1 pip285

13.1.2 Conda289

13.1.3 虚拟机292

13.1.4 Docker293

13.2 部署到云端297

13.3 在超算上部署299

13.4 本章小结300

第3部分 完善

第 14章 构建流程和软件305

14.1 make306

14.1.1 运行make308

14.1.2 makefile308

14.1.3 目标309

14.1.4 特殊目标311

14.2 构建和运行软件312

14.2.1 Makefile配置313

14.2.2 编译316

14.3 安装316

14.4 本章小结317

第 15章 本地版本控制318

15.1 什么是版本控制318

15.1.1 计算物理中的

实验室笔记本319

15.1.2 版本控制工具的

类型320

15.2 Git起步320

15.2.1 安装Git321

15.2.2 获取帮助321

15.2.3 控制Git的行为

(git config)322

15.3 使用Git进行本地版本

控制323

15.3.1 创建本地库

(git init)323

15.3.2 暂存文件325

15.3.3 检查本地副本的状态

(git status)326

15.3.4 保存快照

(git commit)326

15.3.5 git log:查看

历史329

15.3.6 查看改动

(git diff)329

15.3.7 取消暂存或回滚文件

(git reset)330

15.3.8 丢弃提交

(git revert)331

15.3.9 列出、创建、删除分

支(git branch)332

15.3.10 切换分支

(git checkout)334

15.3.11 合并分支

(git merge)334

15.3.12 处理冲突336

15.4 本章小结336

第 16章 远程版本控制337

16.1 代码托管(github.com)337

16.2 在GitHub上创建

代码库339

16.3 声明远程库

(git remote)339

16.4 向远程库发送提交

(git push)340

16.5 下载代码库

(git clone)341

16.6 从远程库获取内容

(git fetch)344

16.7 合并远程库的内容

(git merge)345

16.8 Pull等于Fetch加Merge

(git pull)345

16.9 冲突346

16.10 解决冲突347

16.11 本章小结348

第 17章 调试350

17.1 遇到一个bug351

17.2 print语句352

17.3 交互式调试354

17.4 在Pythong中调试

(pdb)355

17.4.1 设置跟踪点356

17.4.2 步进357

17.4.3 查询变量358

17.4.4 设置状态358

17.4.5 运行函数和

方法359

17.4.6 继续执行359

17.4.7 断点360

17.5 剖析360

17.5.1 使用pstats查看

剖析文件361

17.5.2 可视化查看剖析

信息361

17.5.3 使用Kernprof剖析

代码364

17.6 linting365

17.7 本章小结366

第 18章 测试368

18.1 为什么要做测试369

18.2 什么时候写测试369

18.3 在哪里编写测试370

18.4 如何测试?测试哪些

内容370

18.5 运行测试373

18.6 边界情形374

18.7 单元测试376

18.8 集成测试378

18.9 回归测试380

18.10 测试生成器380

18.11 测试覆盖382

18.12 测试驱动开发383

18.13 本章小结386

第4部分 发布

第 19章 文档389

19.1 为什么文档很重要389

19.1.1 文档非常有价值390

19.1.2 编写文档比想象的

要简单390

19.2 文档类型391

19.2.1 理论手册391

19.2.2 用户和开 发 者

指南392

19.2.3 readme文件392

19.2.4 注释393

19.2.5 自文档代码395

19.2.6 文档字符串396

19.3 自动化397

19.4 本章小结401

第 20章 出版402

20.1 文档处理403

20.1.1 格式和内容

分离403

20.1.2 跟踪改动404

20.2 文本编辑器404

20.3 标记语言405

20.3.1 LaTeX406

20.3.2 参考文献416

20.4 本章小结419

第 21章 协作421

21.1 任务单系统422

21.1.1 工作流程概览422

21.1.2 创建问题424

21.1.3 分配问题425

21.1.4 讨论问题426

21.1.5 关闭问题427

21.2 拉取请求和代码审查427

21.2.1 提交拉取请求428

21.2.2 审查合并请求428

21.2.3 合并拉取请求429

21.3 本章小结429

第 22章 许可证、所有权和

版权430

22.1 哪些内容可赋予版权431

22.2 首 次发布权431

22.3 什么是公共领域432

22.4 选择一个软件许可证432

22.5 伯克利软件发布

许可证(BSD)434

22.6 GNU General Public

License (GPL)436

22.7 知识共享(CC)437

22.8 其他许可证438

22.9 更换许可证440

22.10 版权不是一切441

22.11 本章小结442

第 23章 关于计算物理进一步

思考443

术语447

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值