《华章程序员书库PYTHON 3标准库》[美]道格・赫尔曼(DougHell | PDF下载|ePub下载
华章程序员书库PYTHON 3标准库 版权信息
- 出版社:机械工业出版社
- 出版时间:2017-02-01
- ISBN:9787111608950
- 条形码:9787111608950 ; 978-7-111-60895-0
华章程序员书库PYTHON 3标准库 本书特色
(1)本书由资深Python专家亲自执笔,Python语言的核心开发人员鼎力推荐。 (2)对程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有Python程序员都**的工具书!全书以案例驱动的方式讲解了标准库中数百个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的示例比一份手册文档更有帮助),为Python程序员熟练掌握和使用这些模块提供了绝 *指导。 (3)本书针对Python3,介绍了Python3.x中新增的库、重大的功能变化,以及新的布局和命名约定。此外,书中还提供了专家级移植指导,可帮助你将代码从Python2.x标准库模块移植到相应的Python3.x标准库模块。
华章程序员书库PYTHON 3标准库 内容简介
在本书中,你会看到用来处理文本、数据类型、算法、数学计算、文件系统、网络通信、Internet、XML、Email、加密、并发性、运行时和语言服务等各个方面的实用代码和解决方案。在内容安排上,每一节都会全面介绍一个模块,并提供一些很有价值的补充资源链接,这使得本书成为一本理想的Python标准库参考手册。
华章程序员书库PYTHON 3标准库 目录
译者序
前言
第1章 文本1
1.1string:文本常量和模板1
1.1.1函数1
1.1.2模板2
1.1.3高级模板3
1.1.4 Formatter5
1.1.5 常量5
1.2 textwrap:格式化文本段落6
1.2.1 示例数据6
1.2.2 填充段落7
1.2.3 去除现有的缩进7
1.2.4 结合dedent和f?ill8
1.2.5 缩进块8
1.2.6 悬挂缩进10
1.2.7 截断长文本10
1.3 re:正则表达式11
1.3.1 查找文本中的模式11
1.3.2 编译表达式12
1.3.3 多重匹配13
1.3.4 模式语法14
1.3.5 限制搜索22
1.3.6 用组解析匹配24
1.3.7 搜索选项29
1.3.8 前向或后向35
1.3.9 自引用表达式38
1.3.10 用模式修改字符串42
1.3.11 利用模式拆分44
1.4 diff?lib:比较序列46
1.4.1 比较文本体47
1.4.2 无用数据49
1.4.3 比较任意类型50
第2章 数据结构52
2.1 enum:枚举类型53
2.1.1 创建枚举53
2.1.2 迭代53
2.1.3 比较Enum54
2.1.4 唯一枚举值55
2.1.5 通过编程创建枚举56
2.1.6 非整数成员值58
2.2 collections:容器数据类型60
2.2.1 ChainMap:搜索多个字典60
2.2.2 Counter:统计可散列的对象63
2.2.3 defaultdict:缺少的键返回一个默认值66
2.2.4 deque:双端队列67
2.2.5 namedtuple:带命名字段的元组子类70
2.2.6 OrderedDict:记住向字典中增加键的顺序74
2.2.7 collections.abc:容器的抽象基类76
2.3 数组:固定类型数据序列78
2.3.1 初始化78
2.3.2 处理数组79
2.3.3 数组和文件79
2.3.4 候选字节顺序80
2.4 heapq:堆排序算法81
2.4.1 示例数据81
2.4.2 创建堆82
2.4.3 访问堆的内容83
2.4.4 堆的数据极值85
2.4.5 高效合并有序序列85
2.5 bisect:维护有序列表86
2.5.1 有序插入86
2.5.2 处理重复87
2.6 queue:线程安全的FIFO实现88
2.6.1 基本FIFO队列88
2.6.2 LIFO队列89
2.6.3 优先队列89
2.6.4 构建一个多线程播客客户程序90
2.7 struct:二进制数据结构93
2.7.1 函数与Struct类93
2.7.2 打包和解包93
2.7.3 字节序94
2.7.4 缓冲区95
2.8 weakref:对象的非永久引用96
2.8.1 引用96
2.8.2 引用回调97
2.8.3 *终化对象98
2.8.4 代理100
2.8.5 缓存对象101
2.9 copy:复制对象103
2.9.1 浅副本103
2.9.2 深副本104
2.9.3 定制复制行为105
2.9.4 深副本中的递归106
2.10 pprint:美观打印数据结构107
2.10.1 打印108
2.10.2 格式化108
2.10.3 任意类109
2.10.4 递归110
2.10.5 限制嵌套输出110
2.10.6 控制输出宽度111
第3章 算法113
3.1 functools:管理函数的工具113
3.1.1 修饰符113
3.1.2 比较119
3.1.3 缓存122
3.1.4 缩减数据集125
3.1.5 泛型函数127
3.2 itertools:迭代器函数129
3.2.1 合并和分解迭代器129
3.2.2 转换输入132
3.2.3 生成新值133
3.2.4 过滤135
3.2.5 数据分组138
3.2.6 合并输入139
3.3 operator:内置操作符的函数接口144
3.3.1 逻辑操作144
3.3.2 比较操作符145
3.3.3 算术操作符145
3.3.4 序列操作符146
3.3.5 原地操作符148
3.3.6 属性和元素“获取方法”148
3.3.7 结合操作符和定制类150
3.4 contextlib:上下文管理器工具151
3.4.1 上下文管理器API151
3.4.2 上下文管理器作为函数修饰符153
3.4.3 从生成器到上下文管理器154
3.4.4 关闭打开的句柄156
3.4.5 忽略异常157
3.4.6 重定向输出流158
3.4.7 动态上下文管理器栈159
第4章 日期和时间166
4.1 time:时钟时间166
4.1.1 比较时钟166
4.1.2 墙上时钟时间167
4.1.3 单调时钟168
4.1.4 处理器时钟时间169
4.1.5 性能计数器170
4.1.6 时间组成170
4.1.7 处理时区171
4.1.8 解析和格式化时间172
4.2 datetime:日期和时间值管理174
4.2.1 时间174
4.2.2 日期175
4.2.3 timedelta177
4.2.4 日期算术运算178
4.2.5 比较值179
4.2.6 结合日期和时间179
4.2.7 格式化和解析180
4.2.8 时区182
4.3 calendar:处理日期183
4.3.1 格式化示例183
4.3.2 本地化环境185
4.3.3 计算日期186
第5章 数学运算188
5.1 decimal:定点数和浮点数的数学运算188
5.1.1 Decimal188
5.1.2 格式化189
5.1.3 算术运算190
5.1.4 特殊值191
5.1.5 上下文192
5.2 fractions:有理数196
5.2.1 创建Fraction实例197
5.2.2 算术运算198
5.2.3 近似值199
5.3 random:伪随机数生成器199
5.3.1 生成随机数200
5.3.2 指定种子200
5.3.3 保存状态201
5.3.4 随机整数202
5.3.5 选择随机元素203
5.3.6 排列203
5.3.7 采样205
5.3.8 多个并发生成器205
5.3.9 SystemRandom206
5.3.10 非均匀分布207
5.4 math:数学函数208
5.4.1 特殊常量208
5.4.2 测试异常值208
5.4.3 比较210
5.4.4 将浮点值转换为整数212
5.4.5 浮点值的其他表示213
5.4.6 正号和负号214
5.4.7 常用计算215
5.4.8 指数和对数218
5.4.9 角222
5.4.10 三角函数224
5.4.11 双曲函数226
5.4.12 特殊函数227
5.5 statistics:统计计算228
5.5.1 平均值228
5.5.2 方差230
第6章 文件系统232
6.1 os.path:平台独立的文件名管理233
6.1.1 解析路径233
6.1.2 建立路径236
6.1.3 规范化路径237
6.1.4 文件时间238
6.1.5 测试文件238
6.2 pathlib:文件系统路径作为对象240
6.2.1 路径表示240
6.2.2 建立路径240
6.2.3 解析路径242
6.2.4 创建具体路径243
6.2.5 目录内容244
6.2.6 读写文件246
6.2.7 管理目录和符号链接246
6.2.8 文件类型247
6.2.9 文件属性248
6.2.10 权限250
6.2.11 删除250
6.3 glob:文件名模式匹配252
6.3.1 示例数据252
6.3.2 通配符252
6.3.3 单字符通配符253
6.3.4 字符区间253
6.3.5 转义元字符254
6.4 fnmatch:UNIX式glob模式匹配254
6.4.1 简单匹配254
6.4.2 过滤255
6.4.3 转换模式256
6.5 linecache:高效读取文本文件257
6.5.1 测试数据257
6.5.2 读取特定行257
6.5.3 处理空行258
6.5.4 错误处理258
6.5.5 读取Python源文件259
6.6 tempf?ile:临时文件系统对象260
6.6.1 临时文件260
6.6.2 命名文件262
6.6.3 假脱机文件262
6.6.4 临时目录263
6.6.5 预测名264
6.6.6 临时文件位置264
6.7 shutil:高层文件操作265
6.7.1 复制文件265
6.7.2 复制文件元数据268
6.7.3 处理目录树269
6.7.4 查找文件271
6.7.5 归档272
6.7.6 文件系统空间275
6.8 f?ilecmp:比较文件276
6.8.1 示例数据276
6.8.2 比较文件278
6.8.3 比较目录279
6.8.4 在程序中使用差异280
6.9 mmap:内存映射文件283
6.9.1 读文件284
6.9.2 写文件285
6.9.3 正则表达式286
6.10 codecs:字符串编码和解码287
6.10.1 Unicode入门287
6.10.2 处理文件289
6.10.3 字节序291
6.10.4 错误处理293
6.10.5 编码转换295
6.10.6 非Unicode编码296
6.10.7 增量编码297
6.10.8 Unicode数据和网络通信299
6.10.9 定义定制编码301
6.11 io:文本、十进制和原始流I/O工具307
6.11.1 内存中的流307
6.11.2 为文本数据包装字节流308
华章程序员书库PYTHON 3标准库 节选
自1991年首次发布以来,Python的用户群体便开始不断增长,Python也逐步成为开源开发中*受欢迎的编程语言之一。实际上,Python语言的*大优势并不是语言本身的特性,而是它拥有脚本语言中*丰富的第三方模块,这是其他任何语言都无法比拟的巨大优势。很多人学习和使用Python正是因为Python拥有某个非常适合其工作领域的简单易用的模块。 标准库中包含数百个模块,为常见任务提供了丰富的工具,可以用来作为应用开发的起点。学习这些模块时,简短的例子要比详尽的手册文档更有帮助。这也正是写作本书的出发点。 作为PythonSoftwareFoundation的成员,作者道格·赫尔曼(DougHellmann)从1.4版本开始就一直在做Python编程工作,曾在大量UNIX和非UNIX平台上参与项目开发,涉及众多领域,积累了丰富的经验。他全面研究了标准库的模块,并在他的博客“PythonModuleoftheWeek”中利用实际例子介绍各个模块应该如何使用。为满足人们迫切的需求,他将这些博客文章进一步整理完善,并在2011年出版了针对Python2的《Python标准库》。 当前,Python社区正在从Python2向Python3过渡。Python2与Python3之间存在很多不兼容性,特别是很多曾经的标准库模块在Python3中已经改名或者已经重新组织。鉴于此,时隔7年之后,终于有了这本《Python3标准库》,它主要强调Python3,同样沿袭《Python标准库》的风格,通过轻松的方式,帮助你从具体的例子、具体的实践中了解技术细节,在知道“怎样做”的同时还能理解“为什么这样做”。所有例子都已经在Python3.5上通过测试。 本书由苏金国、李璜主译,杨健康、乔会东、仝磊、王少轩、程芳、宋旭民、黄小钰等分别对全书各章进行了审阅,另外姚曜、程龙、吴忠望、张练达、陈峰、江健、姚勇、卢�]、张莹参与了全书的修改整理工作,林琪、刘亮、刘跃邦、高强和王志淋统一全书术语,并完善了关键部分的翻译。全体人员共同完成了本书的翻译工作。由于译者水平有限,译文肯定有不当之处,敬请批评指正。
华章程序员书库PYTHON 3标准库 作者简介
道格·赫尔曼(DougHellmann)目前任职于RedHat,主要负责开发OpenStack项目。他是OpenStack技术委员会的委员,对这个项目的很多方面做出了突出贡献。他从Python1.4版本就开始投入Python编程,曾在多种UNIX和非UNIX平台上参与项目开发,涉及领域包括地图、医疗新闻播报、金融和数据中心自动化。Doug也是PythonSoftwareFoundation的成员,并于2010~2012年担任其信息交流主管。在为《PythonMagazine》做了一年普通专栏作家后,他于2008~2009年担任该杂志的主编。2007~2011年间,Doug在他的博客上发表了颇受关注的“PythonModuleoftheWeek”系列,以及本书的上一个版本(面向Python2),即《Python标准库》(Addison-Wesley,2011)。