计算机书籍控

Python高级编程

   Python专家TarekZiade将带你漫游Python应用程序开发的全过程。《Python高级编程》首先介绍如何配置最优的开发环境,然后以Python敏捷开发方法为线索,告诉你如何将经过验证的面向对象原则应用到自己的设计中。《Python高级编程》是关于Python最佳实践以及适用于Python应用程序的敏捷开发方法的权威说明,用实例展示了设计、编码和交付Python软件的实践过程。  你将从《Python高级编程》中学到以下技能:配置高效的开发环境;自定义Python提示符和用于部署的setlJptools;编写高效语法iterator、generator和decorator;根据设计设置参数,遵循设计API的最佳实践;构建、发布和交付应用程序;编写基于多个egg的应用程序;使用zc.buildout交付、部署应用程序;构建并发布软件包,安排开发周期;使用版本管理系统和持续集成策略管理代码;实践测试驱动开发;对代码进行监测与优化。提高软件运行速度;在应用程序中使用设计模式。  旧金山湾Python社区主持人  Shannon-jj Behrens倾情作序

目录


第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

书籍下载

免费下载 密码:mr8t

正版书籍

Python高级编程