《Python物理学高效计算》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)安东尼·斯科普斯,(美)凯瑟琳·赫夫著;孙波翔译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115470784
  • 页数:454 页
图书介绍:

第一部分 起步 3

第1章 命令行简介 3

1.1 Shell概览 3

1.1.1 Shell是一款编程语言 4

1.1.2路径和pwd 5

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-l) 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运行Python 40

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.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 lambda 103

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

第二部分 上手 139

第7章 分析和可视化 139

7.1准备数据 139

7.1.1实验数据 143

7.1.2模拟数据 144

7.1.3元数据 145

7.2载入数据 145

7.2.1 NumPy 146

7.2.2 PyTables 147

7.2.3 Pandas 147

7.2.4 Blaze 148

7.3清理和改写数据 149

7.4分析 153

7.4.1模型驱动的分析 154

7.4.2数据驱动的分析 155

7.5可视化 156

7.5.1可视化工具 157

7.5.2 gnuplot 158

7.5.3 matplotlib 160

7.5.4 Bokeh 165

7.5.5 Inkscape 167

7.6本章小结 167

第8章 正则表达式 169

8.1示例:杂乱的磁性 170

8.2命令行中的元字符 171

8.2.1用简单的模式列出文件 172

8.2.2根据模式全局查找文件名(find) 173

8.3 grep、 sed、 awk 179

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 dtype 195

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章 数据存储:文件和HDF5 216

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 Series 246

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 MPI 276

12.8本章小结 281

第13章 软件部署 283

13.1部署软件本身 284

13.1.1 pip 285

13.1.2 Conda 289

13.1.3虚拟机 292

13.1.4 Docker 293

13.2部署到云端 297

13.3在超算上部署 299

13.4本章小结 300

第3部分 完善 305

第14章 构建流程和软件 305

14.1 make 306

14.1.1运行make 308

14.1.2 makefile 308

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安装Git 321

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遇到一个错误 351

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 linting 365

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部分 发布 389

第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 LaTeX 406

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 PublicLicense (GPL) 436

22.7知识共享(CC) 437

22.8其他许可证 438

22.9更换许可证 440

22.10版权不是一切 441

22.11本章小结 442

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

术语 447