1、Python物理学高效计算 演讲人 2021-11-11本书讲什么01本书讲什么本书目标读者02本书目标读者本书不适合哪些人03本书不适合哪些人本书使用示例:辐射衰变常数04本书使用示例:辐射衰变常数DCBA访问数据和软件库创建一个简单的程序自动化数据收集分析和绘制数据E跟踪改动F测试代码本书使用示例:辐射衰变常数为代码提供文档发布阅读本书时应该做哪些事情05阅读本书时应该做哪些事情本书约定06本书约定使用实例代码07使用实例代码安装和设置08安装和设置第1步:安装和下载Miniconda(或Anaconda)第2步:安装软件包Safari 在线图书09Safari 在线图书联系方式10联系方
2、式第1部分 起步111 命令行简介DCBA1.1 Shell概览1.2 操作文件和目录1.3 获取帮助1.4 权限和共享E1.5 环境F1.6 使用bash编写脚本1 命令行简介1.7 本章小结1 命令行简介1.1 Shell概览1.1.1 Shell是一款编程语言1.1.2 路径和pwd1.1.3 主目录()1.1.4 列出内容(ls)1.1.5 更改目录(cd)1.1.6 查看文件内容(head和tail命令)1 命令行简介1.2 操作文件和目录1.2.1 创建文件(nano、emacs、vi、cat、>和touch)1.2.2 复制和重命名文件(cp和mv)1.2.3 创建目录(m
3、kdir)1.2.4 删除文件和目录(rm)1.2.5 标志和通配符1 命令行简介1.3 获取帮助1.3.1 阅读程序手册(man)1.3.2 找到正确的工具(apropos)1.3.3 用重定向和管道组合多个实用程序(>、>>和|)1 命令行简介1.4 权限和共享1.4.1 查看权限(ls l)1.4.2 设置所有权1.4.3 设置权限(chmod)1.4.4 创建链接(ln)1.4.5 连接其他计算机(ssh和scp)1 命令行简介1.5 环境1.5.1 保存环境变量(.bashrc)1.5.2 运行程序(PATH)1.5.3 别名命令(alias)2 Python编程起
4、步2.1 运行PythonA2.2 注释B2.3 变量C2.4 特殊变量D2.5 操作符E2.6 字符串F2 Python编程起步2.7 模块2.8 本章小结2 Python编程起步2.4 特殊变量2.4.1 布尔值2.4.2 None不是0!2.4.3 NotImplemented不是None!2 Python编程起步2.6 字符串2.6.1 字符串索引2.6.2 字符串连接2.6.3 字符串字面值2.6.4 字符串方法2 Python编程起步2.7 模块2.7.1 导入模块2.7.2 从模块中导入变量2.7.3 别名导入2.7.4 导入变量别名2.7.5 包2.7.6 标准库和Python
5、生态系统第1部分 起步3 基本容器3.1 列表3.2 元组3.5 本章小结3.4 字典3.3 集合4 流程控制和逻辑运算4.2 异常024.4 本章小结044.1 条件语句014.3 循环034 流程控制和逻辑运算4.1 条件语句4.1.1 if-else语句4.1.2 if-elif-else语句4.1.3 if-else表达式4 流程控制和逻辑运算4.2 异常抛出异常4 流程控制和逻辑运算4.3 循环4.3.1 while循环4.3.2 for循环4.3.3 解析式5 使用函数第1部分 起步5.1 Python中的函数5.2 关键字参数5.3 变长参数5.6 递归5.5 作用域5.4 多返
6、回值第1部分 起步5 使用函数5.7 lambda5.8 生成器5.10 本章小结5.9 装饰器6 类和对象D6.4 装饰器和元类E6.5 本章小结A6.1 面向对象B6.2 对象C6.3 类6 类和对象6.3 类6.3.1 类变量6.3.2 实例变量6.3.3 构造器6.3.4 方法6.3.5 静态方法6.3.6 鸭子类型6.3.7 多态第2 部分 上手127 分析和可视化7.1 准备数据A7.2 载入数据B7.3 清理和改写数据C7.4 分析D7.5 可视化E7.6 本章小结F7 分析和可视化7.1 准备数据7.1.1 实验数据7.1.2 模拟数据7.1.3 元数据7 分析和可视化7.2
7、载入数据7.2.1 NumPy7.2.2 PyTables7.2.3 Pandas7.2.4 Blaze7 分析和可视化7.3 清理和改写数据缺失的数据7 分析和可视化7.4 分析7.4.1 模型驱动的分析7.4.2 数据驱动的分析7 分析和可视化7.5 可视化7.5.1 可视化工具7.5.2 gnuplot7.5.3 matplotlib7.5.4 Bokeh7.5.5 Inkscape8 正则表达式8.6 处理数据列(awk)8.5 在文件中查找和替换(sed)8.4 在文件中查找模式(grep)8.3 grep、sed、awk8.2 命令行中的元字符8.1 示例:杂乱的磁性8 正则表达式
8、8.7 Python正则表达式8.8 本章小结8 正则表达式8.2 命令行中的元字符8.2.1 用简单的模式列出文件8.2.2 根据模式全局查找文件名(find)8 正则表达式8.5 在文件中查找和替换(sed)8.5.1 查找和替换复杂模式8.5.2 sed额外内容9 NumPy:以数组的形式思考第2 部分 上手9.1 数组9.2 dtype9.3 切片和视图9.6 掩模9.5 花式索引9.4 算术和广播第2 部分 上手9 NumPy:以数组的形式思考9.7 结构数组9.8 通用函数9.10 本章小结9.9 其他有用的函数10 数据存储:文件和HDF510.2 关于计算机架构的一些说明10.
9、4 文件处理10.6 分块10.1 Python中的文件10.3 HDF5中的重要思想10.5 层次布局10 数据存储:文件和HDF510.7 核内和核外操作10.8 查询10.11 本章小结10.10 HDF5工具10.9 压缩10 数据存储:文件和HDF510.7 核内和核外操作10.7.1 核内10.7.2 核外11 物理中重要的数据结构11.1 散列表11.1.1 调整大小11.1.2 冲突11.4 k-d树 11.2 数据框11.2.1 Series11.2.2 DataFrame结构11.3 B树 513411.5 本章小结 212 并行化执行第2 部分 上手12.1 规模和扩展能
10、力12.2 问题分类12.3 示例:N体问题12.6 多处理12.5 线程12.4 非并行第2 部分 上手12 并行化执行12.8 本章小结0212.7 MPI0113 软件部署13.1.1 pip13.1.2 Conda13.1.3 虚拟机13.1.4 Docker13.1 部署软件本身01 13.2 部署到云端02 13.3 在超算上部署03 13.4 本章小结04第3部分 完善1314 构建流程和软件14.1.1 运行make14.1.2 makefile14.1.3 目标14.1.4 特殊目标14.1 make0114.2.1 Makefile配置14.2.2 编译14.2 构建和运行
11、软件02 14.3 安装03 14.4 本章小结0415 本地版本控制15.1 什么是版本控制15.2 Git起步15.3 使用Git进行本地版本控制15.4 本章小结DCAB15.1.1 计算物理中的实验室笔记本15.1.2 版本控制工具的类型15 本地版本控制15.1 什么是版本控制15 本地版本控制15.2 Git起步15.2.1 安装Git15.2.2 获取帮助15.2.3 控制Git的行为(git config)15 本地版本控制15.3 使用Git进行本地版本控制15.3.1 创建本地库(git init)15.3.2 暂存文件15.3.3 检查本地副本的状态(git status
12、)15.3.4 保存快照(git commit)15.3.5 git log:查看历史15.3.6 查看改动(git diff)15 本地版本控制15.3 使用Git进行本地版本控制15.3.7 取消暂存或回滚文件(git reset)15.3.8 丢弃提交(git revert)15.3.9 列出、创建、删除分支(git branch)15.3.10 切换分支(git checkout)15.3.11 合并分支(git merge)15.3.12 处理冲突第3部分 完善16 远程版本控制16.1 代码托管()0116.2 在GitHub上创建代码库0216.3 声明远程库(git remot
13、e)0316.4 向远程库发送提交(git push)0416.5 下载代码库(git clone)0516.6 从远程库获取内容(git fetch)0616 远程版本控制第3部分 完善16.8 Pull等于Fetch加Merge(git pull)16.10 解决冲突16.7 合并远程库的内容(git merge)16.9 冲突16.11 本章小结17 调试17.1 遇到一个错误0117.2 print语句0217.3 交互式调试0317.4 在Pythong中调试(pdb)0417.5 剖析0517.6 linting0617 调试17.7 本章小结17 调试17.4 在Pythong中
14、调试(pdb)17.4.1 设置跟踪点17.4.2 步进17.4.3 查询变量17.4.4 设置状态17.4.5 运行函数和方法17.4.6 继续执行17.4.7 断点17 调试17.5 剖析17.5.1 使用pstats查看剖析文件17.5.2 可视化查看剖析信息17.5.3 使用Kernprof剖析代码18 测试18.2 什么情况下要写测试18.4 如何测试?测试哪些内容18.6 边界情形18.1 为什么要做测试18.3 在哪里编写测试18.5 运行测试18 测试18.7 单元测试A18.8 集成测试B18.9 回归测试C18.10 测试生成器D18.11 测试覆盖E18.12 测试驱动开
15、发F18 测试18.13 本章小结18 测试18.6 边界情形极端条件第4部分 发布1419 文档0119.1 为什么文档很重要0219.2 文档类型0319.3 自动化0419.4 本章小结19 文档19.1 为什么文档很重要19.1.1 文档非常有价值19.1.2 编写文档比想象的要简单19 文档19.2 文档类型19.2.1 理论手册19.2.2 用户和开发者指南19.2.3 readme文件19.2.4注释19.2.5 自文档代码19.2.6 文档字符串20 出版第4部分 发布A20.1 文档处理C20.3 标记语言B20.2 文本编辑器D20.4 本章小结第4部分 发布21 协作第4部分 发布22 许可证、所有权和版权第4部分 发布23 关于计算物理进一步思考术语15术语 作者介绍16作者介绍封面介绍17封面介绍欢迎来到异步社区!18欢迎来到异步社区!感谢聆听