产品特色
编辑推荐
Python是一门很绝妙的编程语言,它快速、灵活且内置了丰富的标准库,已经用于越来越多的不同行业。通常,大多数关于Python的书都会教读者这门语言的基础知识,但是掌握了这些基础知识后,读者在设计自己的应用程序和探索实践时仍需要完全靠自己。本书则不同,它介绍了如何利用Python有效地解决问题,以及如何构建良好的Python应用程序。
从本书中读者将学到什么
●杰出实践:书中给出了构建应用程序时可参考的方法和建议,帮助读者充分利用Python的特性,构建不会过时的应用程序。如果读者正在做一些东西,可以立刻应用本书中提及的技术去改进自己当前的工作。
●解决问题:书中介绍了测试、移植、扩展Python应用程序和库等方面的实际问题并提供了相应的解决方案,还介绍了一些非常好的小技巧,讨论了一些长期维护软件的策略。
●语言的内部机制:书中阐述了Python语言的一些内部机制,帮助读者更好地理解如何开发更高效的代码,并获得对这门语言内部工作原理更深刻的洞察力。
●专家访谈录:书中包含多篇对不同领域专家的访谈,让读者可以从开源社区和Python社区的知名黑客那里获得意见、建议和技巧。
内容简介
这不是一本常规意义上Python的入门书。这本书中没有Python关键字和for循环的使用,也没有细致入微的标准库介绍,而是完全从实战的角度出发,对构建一个完整的Python应用所需掌握的知识进行了系统而完整的介绍。更为难得的是,本书的作者是开源项目OpenStack的PTL(项目技术负责人)之一,因此本书结合了Python在OpenStack中的应用进行讲解,非常具有实战指导意义。
本书从如何开始一个新的项目讲起,首先是整个项目的结构设计,对模块和库的管理,如何编写文档,进而讲到如何分发,以及如何通过虚拟环境对项目进行测试。此外,本书还涉及了很多高级主题,如性能优化、插件化结构的设计与架构、Python 3的支持策略等。本书适合各个层次的Python程序员阅读和参考。
作者简介
作者简介
Julien Danjou 具有12年从业经验的自由软件黑客。拥有多个开源社区的不同身份:Debian开发者、Freedesktop贡献者、GNU Emacs提交者、awesome窗口管理器的创建者以及OpenStack Ceilometer项目的技术主管。近年,他经常使用Python,尤其是在参与了OpenStack(云计算平台)的开发之后。在此期间,他有机会与许多杰出的黑客一起工作。
译者简介
王飞龙 OpenStack Glance项目和Zaqar项目的核心开发人员。曾任职于IBM,从事系统管理软件和云计算的开发工作,现居住在新西兰,专注于OpenStack开发。
目录
目录
第1章 项目开始 1
1.1 Python版本 1
1.2 项目布局 2
1.3 版本编号 3
1.4 编码风格与自动检查 5
1.5 Joshua Harlow访谈 8
第2章 模块和库 13
2.1 导入系统 13
2.2 标准库 17
2.3 外部库 18
2.4 框架 20
2.5 Doug Hellmann访谈 21
第3章 管理API变化 27
第4章 时区陷阱 35
第5章 文档 39
5.1 Sphinx和reST入门 40
5.2 Sphinx模块 41
5.3 扩展Sphinx 44
第6章 分发 47
6.1 简史 47
6.2 使用pbr打包 49
6.3 Wheel格式 51
6.4 包的安装 52
6.5 和世界分享你的成果 53
6.6 Nick Coghlan访谈 58
6.7 入口点 59
6.7.1 可视化的入口点 60
6.7.2 使用控制台脚本 61
6.7.3 使用插件和驱动程序 63
第7章 虚拟环境 67
第8章 单元测试 71
8.1 基础知识 71
8.2 fixture 78
8.3 模拟(mocking) 79
8.4 场景测试 83
8.5 测试序列与并行 87
8.6 测试覆盖 91
8.7 使用虚拟环境和tox 93
8.8 测试策略 97
8.9 Robert Collins访谈 98
第9章 方法和装饰器 101
9.1 创建装饰器 101
9.2 Python中方法的运行机制 107
9.3 静态方法 109
9.4 类方法 110
9.5 抽象方法 111
9.6 混合使用静态方法、类方法和抽象方法 112
9.7 关于super的真相 115
第10章 函数式编程 119
10.1 生成器 120
10.2 列表推导 124
10.3 函数式函数的函数化 125
第11章 抽象语法树 133
11.1 用抽象语法树检查来扩展flake8 136
11.2 Hy 141
11.3 Paul Tagliamonte访谈 143
第12章 性能与优化 149
12.1 数据结构 149
12.2 性能分析 151
12.3 有序列表和二分查找 156
12.4 namedtuple和slots 158
12.5 memoization 163
12.6 PyPy 165
12.7 通过缓冲区协议实现零复制 166
12.8 Victor Stinner访谈 171
第13章 扩展与架构 175
13.1 多线程的注意事项 175
13.2 多进程与多线程 177
13.3 异步和事件驱动架构 179
13.4 面向服务架构 181
第14章 RDBMS和ORM 185
14.1 用Flask和PostgreSQL流化数据 188
14.2 Dimitri Fontaine访谈 193
第15章 Python 3支持策略 201
15.1 语言和标准库 202
15.2 外部库 205
15.3 使用six 205
第16章 少即是多 209
16.1 单分发器 209
16.2 上下文管理器 214
第17章 延伸阅读 217
Python高手之路 第3版 下载 mobi epub pdf txt 电子书 格式