这不是一本常规意义上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
机械CAD/CAM技术-第3版 内容简介 本书系统地讲述了机械cad/cam的基本概念、应用方法和关键技术。主要内容包括cad/cam系统工作原理、软硬件支撑环...
《王维诗选:四僧插图版》内容简介:王维诗选一书中精选王维文辞优美、通俗易懂的佳作100首,生僻的字词都作了注音和注释。同时又特
SQL Server 2005技术内幕:查询、调整和优化 本书特色 通过专家们架构级的洞察力来优化企业级数据库以sql server**专家的视角,带你深入到s...
大約有90%的產品開發案是失敗的,其中30%並沒有開發出任何產品,其他的雖然有產品問世,但人們不喜歡,或從來不使用;即便使用了
社会网络分析在社会和行为科学巾应用甚广,如经济学、市场营销以及工业工程。社会网络的视角主要关注于社会实体之间的关系。具体
《OpenCV 4.5计算机视觉开发实战:基于Python》内容简介:OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开
《奥运中的科技之光》涉及体育科技的方方面面,包括时间与距离的检测,球的旋转与球在空气中的阻力与轨迹问题,跳水运动与身体旋
《金融的逻辑(套装共2册)》内容简介:《金融的逻辑》(上、下)是陈志武教授关于金融的发展历史、演变、影响和作用的一部作品,由
《狂人日记(赵延年插图本)》内容简介:本书是一部鲁迅小说选集,收录鲁迅代表性小说十六篇,出自《呐喊》和《彷徨》两部小说集,
本书详细介绍了层叠样式表单的基本要素,包括CSS的基本概念、CSS属性、格式化模型以及CSS单位等。此外,对于CSS的延伸扩展部分也
本书是日本平面设计师小矶裕司在自己所参与的设计项目过程中,对设计理念、设计执行所发出的诚恳思考。全书分为三大篇章,分别介
本书介绍了正交频分复用(OFOM)技术的原理及其在无线通信领域内的应用。全书共分10章。第1章简要介绍了移动通信的发展现状、无线
ThemobilerevolutionFindouthowtomakethemostofitThisguidefocusesonwhatisamustforal...
《清代武科考试研究》内容简介:本书综合参撷正史、官书、典章、方志、文集、笔记、报刊等各类史料,并发掘运用海峡两岸及国外所藏
《UML参考手册》在第1版的基础上进行了重大更新和扩展。UML的创建者JamesRumbaugh、IvarJacobson和GradyBooch,清晰完整地讲述...
《围棋手筋二选一从入门到精通(级位篇)》内容简介:围棋手筋二选一从入门到精通是由少儿围棋教育专家、职业五段棋手赵守洵专为围
《每天最重要的3件事》内容简介:时间管理不是让人一味忙碌,而是让人有时间享受生活。每天做到以下三件事,你就可以拥有高效、有序
影像圣堂photoshopcs3中文版步步为营启蒙+基础练习附光盘 本书特色 《Photoshop CS3步步为营:启蒙+基础练习》(中文版)光盘包含书中所有实...
C++Primer中文版第4版 内容简介 作为目前业界广泛使用的编程语言,C++可谓包罗万象、博大精深。20年来,讲述C++的图书早已经汗牛充栋、层出不穷,但其...
本书内容包括三部分:集合论、图论、近世代数。全书共分十五章,讨论了集合及其运算、映射、关系、无穷集合及其基数、模糊集合论