标签
内容简介
《Python高手之路(第3版)》是法国自由软件开发者朱利安·丹乔(Julien Danjou)写给已有一定 Python 使用经验读者的进阶读物,原书译为《The Hacker's Guide to Python》。本书并不讲解 Python 语法入门知识,它的出发点是:能写出能运行的脚本的人很多,但能把 Python 写成可维护、可分发、可测试的工程项目,需要的是另一类经验。作者长期参与 Debian、GNU Emacs、awesome 窗口管理器以及 OpenStack Ceilometer 项目,其中在 OpenStack 这样拥有上百万行 Python 代码、数百名开发者的项目中工作,让他系统总结了工程化使用 Python 的实践。全书从启动一个新项目所涉及的组织结构、版本编号与编码风格谈起,接着讲模块与库的管理、API 变化的处理、时区陷阱、文档编写与 Sphinx 使用、打包分发、虚拟环境、单元测试与模拟、装饰器与方法机制、函数式编程、抽象语法树、性能优化、插件化架构、RDBMS 与 ORM,以及 Python 3 的支持策略,最后以“少即是多”的原则收束,并附延伸阅读建议。书中还穿插了对多位开源社区专家的访谈。本版本为第3版中译本,由王飞龙翻译,全书 216 页。
编辑推荐
市面上讲 Python 的书,大多花大量篇幅在做“如何写”这件事:语法、类型、控制流、标准库。真正让人卡住的往往不是这些,而是项目做大之后的另一类问题——代码怎么组织、版本怎么发、文档怎么生成、测试怎么写、性能从哪里下手、要不要给旧接口做兼容。《Python高手之路》恰好补的就是这一段空白,而且补得很实在:作者不是站在讲台上总结方法论,而是在 OpenStack 这样的超大代码库里踩过坑之后把经验写下来。它的章节顺序也很有意思,从“项目开始”一路走到“分发”“文档”“测试”“性能”“架构”,几乎就是一个 Python 项目的完整生命周期。第3版更新了与 Python 3 相关的支持策略与工具链内容,篇幅仍然控制在两百多页,不厚,不拖泥带水。译文流畅,术语处理稳妥。对于已经能写脚本、但还不确定一个“正经的 Python 项目”该长什么样的开发者,这本书能帮你把很多零散的做法连成体系。
适合谁读
适合
- 已掌握 Python 基础语法、能独立写脚本,想进阶到工程化开发的人
- 需要维护长期演进的项目,正在被版本、文档、测试问题困扰的开发者
- 参与或准备参与 OpenStack 等大型开源项目的工程师
- 想了解 Python 打包分发、插件化架构与性能优化做法的技术负责人
不适合
- 完全没有编程基础、想从零学 Python 语法的读者
- 只想查标准库用法、寻找 API 速查手册的人
- 希望书里有大量完整商业级项目实战案例的读者
阅读建议
- 先通读第1到第7章,把项目结构、打包分发、虚拟环境的链条搭起来,这是全书的地基。
- 第8章单元测试与第12章性能优化最值得逐字精读,并对着自己现有的代码动手重写一遍。
- 第9至11章涉及装饰器、函数式编程与 AST,可先了解概念,遇到相关需求时再回来细读。
- 书中专家访谈部分可当补充读物,顺着访谈里提到的开源项目去读源码,收获会比预期大。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 项目开始
- 1.1 Python版本
- 1.2 项目布局
- 1.3 版本编号
- 1.4 编码风格与自动检查
- 第2章 模块和库
- 2.1 导入系统
- 2.2 标准库
- 2.3 外部库
- 2.4 框架
- 第3章 管理API变化
- 第4章 时区陷阱
- 第5章 文档
- 5.1 Sphinx和reST入门
- 5.2 Sphinx模块
- 5.3 扩展Sphinx
- 第6章 分发
- 6.1 简史
- 6.2 使用pbr打包
- 6.3 Wheel格式
- 6.4 包的安装
- 6.5 和世界分享你的成果
- 6.7 入口点
- 第7章 虚拟环境
- 第8章 单元测试
- 8.1 基础知识
- 8.2 fixture
- 8.3 模拟(mocking)
- 8.4 场景测试
- 8.5 测试序列与并行
- 8.6 测试覆盖
- 8.7 使用虚拟环境和tox
- 8.8 测试策略
- 第9章 方法和装饰器
- 9.1 创建装饰器
- 9.2 Python中方法的运行机制
- 第10章 函数式编程
- 第11章 抽象语法树
- 第12章 性能与优化
- 第13章 扩展与架构
常见问题
这本书适合零基础学 Python 的人吗?
不适合。作者在开篇就假定读者已经使用 Python 一段时间了,书中没有关键字讲解,也没有 for 循环示例,更不会细讲标准库。零基础读者应先看入门教材,再回到这本书。
书名里的“高手”是指语法高手吗?
不是。这本书讲的是工程实践能力:项目结构、模块管理、文档、分发、虚拟环境、测试、性能与架构。作者认为这些才是从“会写”到“写得好”的分水岭。
第3版和之前版本有什么区别?
据作者前言,第3版根据第1版发布后的变化做了更新,补充了 Python 3 支持策略等内容。中译本为人民邮电出版社 2016 年出版,王飞龙翻译,共 216 页。
书里为什么要讲 OpenStack?
作者是 OpenStack 项目 Ceilometer 的技术负责人,在数百名开发者、上百万行代码的项目中工作,让他看到自动化测试、文档、分发在真实规模下为何必不可少,书中的经验多来自这一背景。
读完能解决实际项目里的什么问题?
比较典型的是:项目目录怎么摆、包怎么发到 PyPI、文档如何用 Sphinx 生成、测试怎么组织用 tox、出了问题怎么定位性能瓶颈、插件化架构如何设计。这些都能直接套到自己的项目上。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。