Python高級编程 ((法)Tarek Ziade) 中文PDF扫描版

摘要

Python高級编程 ((法)Tarek Ziade) 中文PDF扫描版,本书通过大量的实例,介绍了python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等

Python高級编程通过大量的实例,介绍了python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等。本书首先介绍如何设置最优的开发环境,然后以python敏捷开发方法为线索,阐述如何将已被验证的面向对象原则应用到设计中。这些内容为开发人员和项目管理人员提供了整个软件工程中的许多高级概念以及专家级的建议,其中有些内容的意义甚至超出了python语言本身。

   本书针对具备一定python基础并希望通过在项目中应用最佳实践和新的开发技术来提升自己的python开发人员。

目录:

第1章 准备工作 1
1.1 安装python 1
1.1.1 python实现版本 2
1.1.2 在linux环境下安装 3
1.1.3 在windows环境下安装 5
1.1.4 在mac os x环境下安装 8
1.2 python命令行 9
1.2.1 定制交互式命令行 10
1.2.2 ipython:增强型命令行 11
1.3 安装setuptools 12
1.3.1 工作原理 12
1.3.2 使用easyinstall安装setuptools 13
1.3.3 将mingw整合到distutils中 15
1.4 工作环境 15
1.4.1 使用文本编辑器与辅助工具的组合 15
1.4.2 使用集成开发环境 19
1.5 小结 22
第2章 语法最佳实践——低于类级 23
2.1 列表推导 24
2.2 迭代器和生成器 25
.2.2.1 生成器 27
2.2.2 协同程序 31
2.2.3 生成器表达式 33
2.2.4 itertools模块 34
2.3 装饰器 37
2.3.1 如何编写装饰器 39
2.3.2 参数检查 40
2.3.3 缓存 42
2.3.4 代理 45
2.3.5 上下文提供者 46
2.4 with和contextlib 47
2.4.1 contextlib模块 49
2.4.2 上下文实例 50
2.5 小结 52
第3章 语法最佳实践——类级 53
3.1 子类化内建类型 53
3.2 访问超类中的方法 55
3.2.1 理解python的方法解析顺序 56
3.2.2 super的缺陷 60
3.3 最佳实践 63
3.4 描述符和属性 64
3.4.1 描述符 65
3.4.2 属性 71
3.5 槽 74
3.6 元编程 75
3.6.1 __new__方法 75
3.6.2 __metaclass__方法 77
3.7 小结 80
第4章 选择好的名称 81
4.1 pep 8和命名最佳实践 81
4.2 命名风格 82
4.2.1 变量 82
4.2.2 函数和方法 86
4.2.3 属性 88
4.2.4 类 89
4.2.5 模块和包 89
4.3 命名指南 90
4.3.1 使用“has”或“is”前缀命名布尔元素 90
4.3.2 用复数形式命名序列元素 90
4.3.3 用显式的名称命名字典 90
4.3.4 避免通用名称 91
4.3.5 避免现有名称 91
4.4 参数最佳实践 92
4.4.1 根据迭代设计构建参数 92
4.4.2 信任参数和测试 93
4.4.3 小心使用*args和**kw魔法参数 94
4.5 类名 96
4.6 模块和包名称 96
4.7 使用api 97
4.7.1 跟踪冗长 97
4.7.2 构建命名空间树 98
4.7.3 分解代码 100
4.7.4 使用egg 101
4.7.5 使用deprecation过程 101
4.8 有用的工具 102
4.8.1 pylint 103
4.8.2 clonedigger 104
4.9 小结 105
第5章 编写一个包 106
5.1 用于所有包的公共模式 106
5.2 基于模板的方法 118
5.2.1 python paste 118
5.2.2 创建模板 120
5.3 创建包模板 120
5.4 开发周期 125
5.5 小结 128
第6章 编写一个应用程序 129
6.1 atomisator概述 129
6.2 整体描述 130
6.3 工作环境 131
6.3.1 添加一个测试运行程序 133
6.3.2 添加一个包结构 133
6.4 编写各个包 134
6.4.1 atomisator.parser 134
6.4.2 atomisator.db 139
6.4.3 atomisator.feed 143
6.4.4 atomisator.main 145
6.5 分发atomisator 147
6.6 包之间的依赖性 148
6.7 小结 149
第7章 使用zc.buildout 150
7.1 zc.buildout原理 151
7.1.1 配置文件结构 151
7.1.2 buildout命令 152
7.1.3 recipe 154
7.1.4 atomisator buildout环境 157
7.1.5 更进一步 158
7.2 发行与分发 159
7.2.1 发行包 160
7.2.2 添加一个发行配置文件 160
7.2.3 构建和发行应用程序 161
7.3 小结 162
第8章 代码管理 163
8.1 版本控制系统 163
8.1.1 集中式系统 163
8.1.2 分布式系统 165
8.1.3 集中还是分布 167
8.1.4 mercurial 167
8.1.5 使用mercurial进行项目管理 171
8.2 持续集成 178
8.3 小结 183
第9章 生命周期管理 184
9.1 不同的方法 184
9.1.1 瀑布开发模型 184
9.1.2 螺旋开发模型 185
9.1.3 迭代开发模型 185
9.2 定义生命周期 187
9.2.1 计划 188
9.2.2 开发 188
9.2.3 整体调试 188
9.2.4 发行 188
9.3 建立一个跟踪系统 189
9.3.1 trac 189
9.3.2 使用trac管理项目生命周期 194
9.4 小结 196
第10章 编写项目文档 197
10.1 技术性写作的7条规则 197
10.1.1 分两步编写 198
10.1.2 以读者为目标 199
10.1.3 使用简单的风格 199
10.1.4 限制信息的范围 200
10.1.5 使用真实的代码示例 200
10.1.6 保持简单,够用即可 201
10.1.7 使用模板 202
10.2 restructuredtext入门 202
10.2.1 小节结构 204
10.2.2 列表 205
10.2.3 内联标签 205
10.2.4 文字块 206
10.2.5 链接 206
10.3 构建文档 207
10.4 建立自己的工件集 214
10.5 小结 220
第11章 测试驱动开发 221
11.1 我不测试 221
11.1.1 测试驱动开发原理 221
11.1.2 哪一类测试 225
11.2 我测试 229
11.2.1 unittest的缺陷 229
11.2.2 unittest替代品 230
11.2.3 仿真和模拟 236
11.2.4 文档驱动开发 240
11.3 小结 242
第12章 优化:通用原则和剖析技术 243
12.1 优化的3条规则 243
12.1.1 首先使它能够正常工作 243
12.1.2 从用户的观点进行 244
12.1.3 保持代码易读(从而易于维护) 245
12.2 优化策略 245
12.2.1 寻找其他原因 245
12.2.2 度量硬件 246
12.2.3 编写速度测试 246
12.3 查找瓶颈 247
12.3.1 剖析cpu的使用情况 247
12.3.2 剖析内存使用情况 256
12.3.3 剖析网络使用情况 262
12.4 小结 263
第13章 优化:解决方案 264
13.1 降低复杂度 265
13.1.1 测量回路复杂度 265
13.1.2 测量大o记号 265
13.1.3 简化 268
13.2 多线程 274
13.2.1 什么是多线程 274
13.2.2 python处理线程的方式 274
13.2.3 什么时候应该使用线程 275
13.3 多进程 280
13.4 缓存 284
13.4.1 确定性缓存 284
13.4.2 非确定性缓冲 287
13.4.3 主动式缓冲 288
13.5 小结 289
第14章 有用的设计模式 290
14.1 创建型模式 290
14.2 结构型模式 293
14.3 行为型模式 299
14.3.1 观察者 299
14.3.2 访问者 301
14.3.3 模板 304
14.4 小结 306

Python OpenCV从入门到精通

《Python OpenCV从入门到精通》以在Python开发环境下运用OpenCV处理图像为主线,全面介绍OpenCV提供的处理图像的方法。全书共分为16章,包
阅读全文