PYTHON高效编程实践指南:编码、测试与集成
新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。
¥
47.06
5.3折
¥
89
全新
库存12件
作者杨勇 杨杭之
出版社机械工业出版社
ISBN9787111756750
出版时间2024-06
装帧平装
开本16开
定价89元
货号1203305430
上书时间2024-10-23
商品详情
- 品相描述:全新
- 商品描述
-
目录
序一
序二
前言
第1章 为什么要学Python1
第2章 构建高效的开发环境10
2.1 选择哪一种操作系统10
2.1.1 Windows下的Linux环境11
2.1.2 Docker方案16
2.1.3 虚拟机方案17
2.1.4 小结17
2.2 集成开发环境17
2.2.1 使用哪一个IDE:VS Code或PyCharm18
2.2.2 VS Code及扩展18
2.3 其他开发环境27
2.3.1 Jupyter Notebook27
2.3.2 Spyder28
第3章 构建Python虚拟环境30
3.1 依赖地狱31
3.2 使用虚拟环境逃出依赖地狱31
3.3 Python包安装工具pip37
3.4 配置VS Code中的解释器37
第4章 项目布局和项目生成向导39
4.1 标准项目布局40
4.1.1 一般性文档41
4.1.2 帮助文档41
4.1.3 API文档41
4.1.4 工程构建配置文件42
4.1.5 代码目录42
4.1.6 单元测试文件目录43
4.1.7 Makefile43
4.1.8 相关工具的配置文件43
4.1.9 tox配置文件43
4.1.10 CI配置文件43
4.1.11 code coverage配置文件44
4.2 项目生成向导44
4.2.1 Cookiecutter44
4.2.2 Python Project Wizard45
4.3 如何使用 Python Project Wizard46
4.3.1 安装Python Project Wizard(PPW)46
4.3.2 生成项目框架47
4.3.3 安装pre-commit hooks47
4.3.4 安装开发依赖48
4.3.5 创建GitHub Repo48
4.3.6 进行发布测试49
4.3.7 设置GitHub CI49
4.3.8 设置Codecov49
4.3.9 设置GitHub Pages49
4.3.10 GitHub自动化脚本50
4.3.11 PPW生成的文件列表51
第5章 poetry:让项目管理轻松一些53
5.1 Semantic Versioning57
5.2 poetry:简洁清晰的项目管理工具60
5.2.1 版本管理64
5.2.2 依赖管理66
5.2.3 虚拟运行时72
5.2.4 构建发行包72
5.2.5 其他重要的poetry命令73
第6章 实现高效的Python编码74
6.1 AI赋能的代码编写74
6.1.1 GitHub Copilot74
6.1.2 Tabnine76
6.2 Type Hint78
6.3 PEP 8:Python代码风格指南82
6.4 lint工具82
6.4.1 Flake883
6.4.2 mypy86
6.5 Formatter工具91
6.6 pre-commit hooks93
第7章 单元测试97
7.1 测试代码的组织98
7.2 Pytest99
7.2.1 测试用例的组装99
7.2.2 Pytest 断言100
7.2.3 Pytest fixture101
7.3 魔法一样的mock105
7.3.1 基础概念与基本使用106
7.3.2 特殊场合下的mock108
7.4 Coverage:衡量测试的覆盖率113
7.5 发布覆盖率报告115
7.6 使用tox实现矩阵化测试116
7.6.1 什么是tox117
7.6.2 tox的工作原理117
7.6.3 如何配置tox118
第8章 版本控制—基于Git和GitHub122
8.1 版本控制的意义122
8.2 版本管理工具Git123
8.2.1 创建Git仓库124
8.2.2 建立与远程仓库的关联:git remote125
8.2.3 保存更改:add、commit、stash等126
8.2.4 与他人同步变更:git push和git pull131
8.2.5 Git标签131
8.3 分支管理134
8.3.1 功能分支136
8.3.2 发布分支137
8.3.3 热修复分支138
8.4 高级Git操作139
8.4.1 分支合并和三路归并139
8.4.2 变基143
8.4.3 分支比较:git diff145
8.4.4 reset与checkout146
8.4.5 gutter change148
8.5 案例:如何追踪代码变化148
8.6 GitHub和GitHub CLI150
8.6.1 安装GitHub CLI150
8.6.2 GitHub CLI的主要命令151
8.6.3 GitHub CLI应用举例153
第9章 持续集成154
9.1 盘点CI软件和在线服务154
9.2 GitHub Actions155
9.2.1 GitHub Actions的架构和概念155
9.2.2 工作流语法概述156
9.3 第三方应用和Actions163
9.3.1 GitHub Pages部署164
9.3.2 构建和发布Docker镜像164
9.3.3 在GitHub上进行发布164
9.3.4 制订发布日志草案164
9.3.5 通知消息165
9.3.6 Giscus165
9.4 通过GitHub CI发布Python库165
第10章 撰写技术文档168
10.1 技术文档的组成168
10.2 两种主要的文档格式170
10.3 rst文档格式170
10.3.1 章节标题(section)170
10.3.2 列表(list)171
10.3.3 表格172
10.3.4 图片173
10.3.5 代码块173
10.3.6 警示文本173
10.4 Markdown文档174
10.4.1 章节标题175
10.4.2 列表175
10.4.3 表格176
10.4.4 插入链接176
10.4.5 插入图片177
10.4.6 代码块178
10.4.7 警示文本178
10.4.8 其他语法179
10.5 两种主要的构建工具179
10.6 使用Sphinx构建文档180
10.6.1 初始化文档结构180
10.6.2 文件重定向181
10.6.3 主控文档和工具链181
10.6.4 生成API文档182
10.6.5 docstring的样式183
10.6.6 混合使用Markdown185
10.7 使用MkDocs构建文档186
10.7.1 配置MkDocs187
10.7.2 更换主题190
10.7.3 文件重定向191
10.7.4 页面引用191
10.7.5 API文档和mkdocstrings192
10.7.6 多版本发布194
10.8 在线托管文档194
10.8.1 RTD195
10.8.2 GitHub Pages195
10.9 结论:究竟选择哪一种技术196
第11章 发布应用198
11.1 以Python库的方式打包和分发198
11.1.1 打包和分发流程199
11.1.2 TestPyPI和PyPI203
11.1.3 pip:Python包管理工具204
11.2 应用程序分发207
11.2.1 桌面应用程序207
11.2.2 移动应用程序212
11.2.3 基于云的应用部署214
内容摘要
本书先简单介绍了搭建开发环境的相关知识,然后以一个规范的Python项目的文件布局总揽全局,按照编码、单元测试、代码管理、集成测试、撰写技术文档、发布安装包的次序,逐一剖析Python开发中所涉及的规范和工具。书中介绍了基于语义的版本管理、依赖解析、构建打包、代码风格、API文档格式等规范。通过不同开发工具(服务)之间的对比,向读者介绍了poetry、MkDocs、tox、Flake8、Black、Git、GitHub CI、Codecov、GitHub Pages、pre-commit hooks等符合很好实践的开发工具和服务。随书附赠本书案例源码,获取方式见封底。
本书在讲解上本着知其然,更要知其所以然的求知态度,力求讲清楚技术的来龙去脉。任何Python爱好者都适合阅读此书,且本书更是Python初学者实现向专业开发人员蝶变的推荐书籍,使用本书介绍的很好实践,可以构建出与优秀开源项目媲美的框架代码,并获得与专业开发者协同工作的能力。
主编推荐
本书是高效程序员的敏捷开发修炼秘籍,本书作者杨勇老师,毕业于华中科技大学计算机专业,获硕士学位。从事软件开发和量化交易研究超二十年。曾服务于趋势科技(中国)、IBM、Oracle、百纳(海豚浏览器),先后担任高级软件研发经理、研发副总裁。精通多种开发语言与云计算架构设计。本书清楚、完整地诠释了为什么Python可以,或者说,Python在绝大多数情况下应该是核心编程和系统开发的优选,从语言特性、便捷程度和可拓展性,到纵向的流程设计分析,再到横向的工具、资源和社区支持介绍,组织了大量的实例和技巧,展示了该语言和其生态环境在脚本撰写、资源集成、项目研发、系统设计、数据库管理、科学计算、人工智能等诸多领域内的日益突出的优势,甚至在大型应用程序端媲美 C、C++、Java的出色表现。
— 没有更多了 —
以下为对购买帮助不大的评价