计算机
类型
7.8
豆瓣评分
可以朗读
语音朗读
385千字
字数
2018-01-01
发行日期
展开全部
主编推荐语
物理学软件开发技能,Python基础,正则表达式,数据可视化,流程构建,协作与版权。
内容简介
本书介绍了物理学领域中需要用到的基本软件开发技能,可用来帮助读者以自动化的方式完成物理领域方面的研究。全书共分为4个部分。第一部分:起步,介绍Python的基本知识。第二部分:上手,主要介绍正则表达式、数据可视化、存储数据等实用知识。第三部分:完善,介绍如何构建流程和软件、版本控制、调试和控制代码等。第四部分发布,介绍如何为代码生成文档、如何提高协作效率和软件许可证以及版权的相关知识等。
目录
- 版权信息
- 版权声明
- 内容提要
- 序
- 前言
- 本书讲什么
- 本书目标读者
- 本书不适合哪些人
- 本书使用示例:辐射衰变常数
- 访问数据和软件库
- 创建一个简单的程序
- 自动化数据收集
- 分析和绘制数据
- 跟踪改动
- 测试代码
- 为代码提供文档
- 发布
- 阅读本书时应该做哪些事情
- 本书约定
- 使用实例代码
- 安装和设置
- 第1步:安装和下载Miniconda(或Anaconda)
- 第2步:安装软件包
- Safari® 在线图书
- 联系方式
- 致谢
- 第1部分 起步
- 第1章 命令行简介
- 1.1 Shell概览
- 1.1.1 Shell是一款编程语言
- 1.1.2 路径和pwd
- 1.1.3 主目录(~)
- 1.1.4 列出内容(ls)
- 1.1.5 更改目录(cd)
- 1.1.6 查看文件内容(head和tail命令)
- 1.2 操作文件和目录
- 1.2.1 创建文件(nano、emacs、vi、cat、>和touch)
- 1.2.2 复制和重命名文件(cp和mv)
- 1.2.3 创建目录(mkdir)
- 1.2.4 删除文件和目录(rm)
- 1.2.5 标志和通配符
- 1.3 获取帮助
- 1.3.1 阅读程序手册(man)
- 1.3.2 找到正确的工具(apropos)
- 1.3.3 用重定向和管道组合多个实用程序(>、>>和|)
- 1.4 权限和共享
- 1.4.1 查看权限(ls –l)
- 1.4.2 设置所有权
- 1.4.3 设置权限(chmod)
- 1.4.4 创建链接(ln)
- 1.4.5 连接其他计算机(ssh和scp)
- 1.5 环境
- 1.5.1 保存环境变量(.bashrc)
- 1.5.2 运行程序(PATH)
- 1.5.3 别名命令(alias)
- 1.6 使用bash编写脚本
- 1.7 本章小结
- 第2章 Python编程起步
- 2.1 运行Python
- 2.2 注释
- 2.3 变量
- 2.4 特殊变量
- 2.4.1 布尔值
- 2.4.2 None不是0!
- 2.4.3 NotImplemented不是None!
- 2.5 操作符
- 2.6 字符串
- 2.6.1 字符串索引
- 2.6.2 字符串连接
- 2.6.3 字符串字面值
- 2.6.4 字符串方法
- 2.7 模块
- 2.7.1 导入模块
- 2.7.2 从模块中导入变量
- 2.7.3 别名导入
- 2.7.4 导入变量别名
- 2.7.5 包
- 2.7.6 标准库和Python生态系统
- 2.8 本章小结
- 第3章 基本容器
- 3.1 列表
- 3.2 元组
- 3.3 集合
- 3.4 字典
- 3.5 本章小结
- 第4章 流程控制和逻辑运算
- 4.1 条件语句
- 4.1.1 if-else语句
- 4.1.2 if-elif-else语句
- 4.1.3 if-else表达式
- 4.2 异常
- 抛出异常
- 4.3 循环
- 4.3.1 while循环
- 4.3.2 for循环
- 4.3.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.3.1 类变量
- 6.3.2 实例变量
- 6.3.3 构造器
- 6.3.4 方法
- 6.3.5 静态方法
- 6.3.6 鸭子类型
- 6.3.7 多态
- 6.4 装饰器和元类
- 6.5 本章小结
- 第2 部分 上手
- 第7章 分析和可视化
- 7.1 准备数据
- 7.1.1 实验数据
- 7.1.2 模拟数据
- 7.1.3 元数据
- 7.2 载入数据
- 7.2.1 NumPy
- 7.2.2 PyTables
- 7.2.3 Pandas
- 7.2.4 Blaze
- 7.3 清理和改写数据
- 缺失的数据
- 7.4 分析
- 7.4.1 模型驱动的分析
- 7.4.2 数据驱动的分析
- 7.5 可视化
- 7.5.1 可视化工具
- 7.5.2 gnuplot
- 7.5.3 matplotlib
- 7.5.4 Bokeh
- 7.5.5 Inkscape
- 7.6 本章小结
- 第8章 正则表达式
- 8.1 示例:杂乱的磁性
- 8.2 命令行中的元字符
- 8.2.1 用简单的模式列出文件
- 8.2.2 根据模式全局查找文件名(find)
- 8.3 grep、sed、awk
- 8.4 在文件中查找模式(grep)
- 8.5 在文件中查找和替换(sed)
- 8.5.1 查找和替换复杂模式
- 8.5.2 sed额外内容
- 8.6 处理数据列(awk)
- 8.7 Python正则表达式
- 8.8 本章小结
- 第9章 NumPy:以数组的形式思考
- 9.1 数组
- 9.2 dtype
- 9.3 切片和视图
- 9.4 算术和广播
- 9.5 花式索引
- 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.7.1 核内
- 10.7.2 核外
- 10.8 查询
- 10.9 压缩
- 10.10 HDF5工具
- 10.11 本章小结
- 第11章 物理中重要的数据结构
- 11.1 散列表
- 11.1.1 调整大小
- 11.1.2 冲突
- 11.2 数据框
- 11.2.1 Series
- 11.2.2 DataFrame结构
- 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.1.1 pip
- 13.1.2 Conda
- 13.1.3 虚拟机
- 13.1.4 Docker
- 13.2 部署到云端
- 13.3 在超算上部署
- 13.4 本章小结
- 第3部分 完善
- 第14章 构建流程和软件
- 14.1 make
- 14.1.1 运行make
- 14.1.2 makefile
- 14.1.3 目标
- 14.1.4 特殊目标
- 14.2 构建和运行软件
- 14.2.1 Makefile配置
- 14.2.2 编译
- 14.3 安装
- 14.4 本章小结
- 第15章 本地版本控制
- 15.1 什么是版本控制
- 15.1.1 计算物理中的实验室笔记本
- 15.1.2 版本控制工具的类型
- 15.2 Git起步
- 15.2.1 安装Git
- 15.2.2 获取帮助
- 15.2.3 控制Git的行为(git config)
- 15.3 使用Git进行本地版本控制
- 15.3.1 创建本地库(git init)
- 15.3.2 暂存文件
- 15.3.3 检查本地副本的状态(git status)
- 15.3.4 保存快照(git commit)
- 15.3.5 git log:查看历史
- 15.3.6 查看改动(git diff)
- 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 处理冲突
- 15.4 本章小结
- 第16章 远程版本控制
- 16.1 代码托管(github.com)
- 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.4.1 设置跟踪点
- 17.4.2 步进
- 17.4.3 查询变量
- 17.4.4 设置状态
- 17.4.5 运行函数和方法
- 17.4.6 继续执行
- 17.4.7 断点
- 17.5 剖析
- 17.5.1 使用pstats查看剖析文件
- 17.5.2 可视化查看剖析信息
- 17.5.3 使用Kernprof剖析代码
- 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.1.1 文档非常有价值
- 19.1.2 编写文档比想象的要简单
- 19.2 文档类型
- 19.2.1 理论手册
- 19.2.2 用户和开发者指南
- 19.2.3 readme文件
- 19.2.4注释
- 19.2.5 自文档代码
- 19.2.6 文档字符串
- 19.3 自动化
- 19.4 本章小结
- 第20章 出版
- 20.1 文档处理
- 20.1.1 格式和内容分离
- 20.1.2 跟踪改动
- 20.2 文本编辑器
- 20.3 标记语言
- 20.3.1 LaTeX
- 20.3.2 参考文献
- 20.4 本章小结
- 第21章 协作
- 21.1 任务单系统
- 21.1.1 工作流程概览
- 21.1.2 创建问题
- 21.1.3 分配问题
- 21.1.4 讨论问题
- 21.1.5 关闭问题
- 21.2 拉取请求和代码审查
- 21.2.1 提交拉取请求
- 21.2.2 审查合并请求
- 21.2.3 合并拉取请求
- 21.3 本章小结
- 第22章 许可证、所有权和版权
- 22.1 哪些内容可赋予版权
- 22.2 首次发布权
- 22.3 什么是公共领域
- 22.4 选择一个软件许可证
- 22.5 伯克利软件发布许可证(BSD)
- 22.6 GNU General Public License (GPL)
- 22.7 知识共享(CC)
- 22.8 其他许可证
- 22.9 更换许可证
- 22.10 版权不是一切
- 22.11 本章小结
- 第23章 关于计算物理进一步思考
- 下一步走向何方
- 术语
- 作者介绍
- 封面介绍
- 欢迎来到异步社区!
- 异步社区的来历
- 社区里都有什么?
- 购买图书
- 下载资源
- 与作译者互动
- 灵活优惠的购书
- 纸电图书组合购买
- 社区里还可以做什么?
- 提交勘误
- 写作
- 会议活动早知道
- 加入异步
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。
