搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Python高级编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115217035
  • 作      者:
    (法)Tarek Ziade著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2010
收藏
编辑推荐
  Python专家TarekZiade将带你漫游Python应用程序开发的全过程。《Python高级编程》首先介绍如何配置最优的开发环境,然后以Python敏捷开发方法为线索,告诉你如何将经过验证的面向对象原则应用到自己的设计中。《Python高级编程》是关于Python最佳实践以及适用于Python应用程序的敏捷开发方法的权威说明,用实例展示了设计、编码和交付Python软件的实践过程。
  你将从《Python高级编程》中学到以下技能:配置高效的开发环境;自定义Python提示符和用于部署的setlJptools;编写高效语法iterator、generator和decorator;根据设计设置参数,遵循设计API的最佳实践;构建、发布和交付应用程序;编写基于多个egg的应用程序;使用zc.buildout交付、部署应用程序;构建并发布软件包,安排开发周期;使用版本管理系统和持续集成策略管理代码;实践测试驱动开发;对代码进行监测与优化。提高软件运行速度;在应用程序中使用设计模式。
  旧金山湾Python社区主持人
  Shannon-jj Behrens倾情作序
展开
作者简介
  Tarek Ziadé,是巴黎Ingeniweb公司的CTO,其工作方向为Python、Zope、Plone技术和质量保证。他参与Zope社区已经有5年了,并且曾经为Zope自身贡献过代码。
  Tarek创建了Afpy,这是法国的Python用户组,并且编写了两本法语的Python书籍。他还在诸如Solutions Linux、Pycon、OSCON和EuroPython等法国及国际会议上发表了许多演讲,并且主持了许多课程。
展开
内容介绍
  《Python高级编程》通过大量的实例,介绍了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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证