这不是一本常规意义上Python的入门书。这本书中没有Python关键字和for循环的使用,也没有细致入微的标准库介绍,而是完全从实战的角度出发,对构建一个完整的Python应用所需掌握的知识进行了系统而完整的介绍。更为难得的是,本书的作者是开源项目OpenStack的PTL(项目技术负责人)之一,因此本书结合了Python在OpenStack中的应用进行讲解,非常具有实战指导意义。
《Python高手之路》从如何开始一个新的项目讲起,首先是整个项目的结构设计,对模块和库的管理,如何编写文档,进而讲到如何分发,以及如何通过虚拟环境对项目进行测试。此外,《Python高手之路》还涉及了很多高级主题,如性能优化、插件化结构的设计与架构、Python 3的支持策略等。
第1章 项目开始 1
1.1 Python版本 1
1.2 项目结构 2
1.3 版本编号 3
1.4 编码风格与自动检查 5
第2章 模块和库 9
2.1 导入系统 9
2.2 标准库 12
2.3 外部库 14
2.4 框架 16
2.5 Doug Hellmann访谈 17
2.6 管理API变化 22
2.7 Christophe de Vienne访谈 25
第3章 文档 29
3.1 Sphinx和reST入门 30
3.2 Sphinx模块 31
3.3 扩展Sphinx 34
第4章 分发 37
4.1 简史 37
4.2 使用pbr打包 39
4.3 Wheel格式 41
4.4 包的安装 42
4.5 和世界分享你的成果 43
4.6 Nick Coghlan访谈 47
4.7 扩展点 49
4.7.1 可视化的入口点 50
4.7.2 使用控制台脚本 51
4.7.3 使用插件和驱动程序 53
第5章 虚拟环境 57
第6章 单元测试 63
6.1 基础知识 63
6.2 fixture 70
6.3 模拟(mocking) 71
6.4 场景测试 75
6.5 测试序列与并行 78
6.6 测试覆盖 82
6.7 使用虚拟环境和tox 84
6.8 测试策略 88
6.9 Robert Collins访谈 89
第7章 方法和装饰器 93
7.1 创建装饰器 93
7.2 Python中方法的运行机制 98
7.3 静态方法 100
7.4 类方法 101
7.5 抽象方法 102
7.6 混合使用静态方法、类方法和抽象方法 104
7.7 关于super的真相 106
第8章 函数式编程 111
8.1 生成器 112
8.2 列表解析 116
8.3 函数式,函数的,函数化 117
第9章 抽象语法树 125
9.1 Hy 128
9.2 Paul Tagliamonte访谈 130
第10章 性能与优化 135
10.1 数据结构 135
10.2 性能分析 137
10.3 有序列表和二分查找 142
10.4 namedtuple和slots 143
10.5 memoization 148
10.6 PyPy 150
10.7 通过缓冲区协议实现零复制 151
10.8 Victor Stinner访谈 157
第11章 扩展与架构 161
11.1 多线程笔记 161
11.2 多进程与多线程 163
11.3 异步和事件驱动架构 165
11.4 面向服务架构 168
第12章 RDBMS和ORM 171
12.1 用Flask和PostgreSQL流化数据 174
12.2 Dimitri Fontaine访谈 179
第13章 Python 3支持策略 187
13.1 语言和标准库 188
13.2 外部库 191
13.3 使用six 191
第14章 少即是多 195
14.1 单分发器 195
14.2 上下文管理器 199
桑原晃弥出生于日本广岛县,毕业于庆应义塾大学经济管理专业;曾任《行业报》记者、不动产公司企划、人事课长,后为自由撰稿人;
本书特别针对广大Web开发人员,以通俗易懂的方式介绍了GIS(地理信息系统,GeographicInformationSystems)在Web应用中的开发技术
《RubyProgramming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了
《跟阿铭学Linux》是一本入门级的Linux学习教材,适合初学者阅读。本书共分为两个部分:基础部分和实践部分。通过基础部分的学习
《像对匹配方法研究》内容简介:本书对近年来的像对匹配方法予以全面总结,并针对宽基线条件下像对匹配问题给出一些解决方法,这些
InDesign CC实战从入门到精通-(全彩版) 本书特色 InDesign是当今流行的专业排版软件,被广泛应用于平面设计、印刷出版、数字媒体等诸多领域。本书...
ThepresentbookisbasedontheauthorsdiplomathesiswrittenattheInstituteofMediaandPho...
《我爱画画(Q版人物篇)》内容简介:本书共八章,包括Q版人物的基本绘制技法、人体比例与透视、美型Q版人物、中国风Q版人物、欧式
《Redis4.xCookbook(中文版)》内容简介:Redis是一个十分热门的内存数据库,号称后端的“瑞士军刀”,它拥有诸多优良特性,已经被
《门店合伙人》内容简介:对于传统的门店经营者来说,无论其做的是是直营店、加盟店还是其他连锁店,目前都面临招人难、留人难、业
本书由腾讯公司视觉设计师编写,针对UI设计方向,从基础的知识出发,首先介绍了成为一名UI设计师需要做哪些方面准备工作。接下来
《子恺漫画精选集》内容简介:在中国漫画史上,丰子恺开创了中国抒情漫画的先河。他的漫画题材包罗万象,有古诗新画、儿童相、学生
《大数据时代的人力资源管理》内容简介:本书采取人物对话的形式,用讲故事的方法,将人力资源管理中一些典型的问题用高级数据分析
《Java虚拟机精讲》内容简介:HotSpot VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT编译器的混合执行引擎,使得Java程序
《销售冠军是如何炼成的》内容简介:销售既是一份充满挑战的工作, 更是一项伟大而光荣的事业! 茫茫人海,你要寻找的精准客户在哪
《写给Web开发人员看的HTML5教程》通过结合大量实际案例和源代码对HTML5的重要特性进行了详细讲解,内容全面丰富,易于理解。全书
本书以AndroidApp视觉与体验设计为主题,简要清晰地回答了什么是AndroidApp的视觉与体验设计、它为什么重要、它有什么特殊的地方
Thisgroundbreakingbookprovidesyouwiththeskillsandresourcesyouneedtobuildwebappli...
《丝绸之路上的西州回鹘王朝》内容简介:公元840年,称雄蒙古高原近百年的回鹘汗国破灭。回鹘部众西迁至天山南北两麓,以吐鲁番盆地
《区块链与智慧物流》内容简介:本书以区块链技术与智慧物流的融合应用为核心,通过剖析智慧物流的发展演进及区块链影响物流系统与