新書推薦:
《
你的认知正在阻碍你
》
售價:HK$
66.7
《
我们身边的小鸟朋友:手绘观鸟笔记
》
售價:HK$
80.3
《
拯救免疫失衡
》
售價:HK$
57.3
《
收尸人
》
售價:HK$
74.8
《
大模型应用开发:RAG入门与实战
》
售價:HK$
91.8
《
不挨饿快速瘦的减脂餐
》
售價:HK$
68.8
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
113.6
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
135.7
|
內容簡介: |
本书由资深Python专家亲自执笔,Python语言的核心开发人员鼎力推荐。
对程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有Python程序员都必备的工具书!全书以案例驱动的方式讲解了标准库中数百个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的示例比一份手册文档更有帮助),为Python程序员熟练掌握和使用这些模块提供了绝佳指导。
本书共19章,系统而全面地对Python 3标准库中的数百个模块进行了生动的讲解。这些模块主要包括:文本处理工具模块,与数据结构和算法相关的模块,管理日期和时间值的模块,用于数学计算的模块,管理文件系统的模块,用于数据存储与交换的模块,用于数据压缩与归档的模块,用于加密的模块,与进程和线程相关的模块,与网络通信、Internet和Email相关的模块,应用构建模块,支持处理多种自然语言和文化设置的模块,开发工具模块,与运行时特性相关的模块等。
|
關於作者: |
道格赫尔曼
(Doug Hellmann)
目前任职于Red Hat,主要负责开发OpenStack项目。他是OpenStack技术委员会的委员,对这个项目的很多方面做出了突出贡献。他从Python 1.4版本就开始投入Python编程,曾在多种UNIX和非UNIX平台上参与项目开发,涉及领域包括地图、医疗新闻播报、金融和数据中心自动化。Doug也是Python Software Foundation的成员,并于2010~2012年担任其信息交流主管。在为《Python Magazine》做了一年普通专栏作家后,他于2008~2009年担任该杂志的主编。2007~2011年间,Doug在他的博客上发表了颇受关注的Python Module of the Week系列,以及本书的上一个版本(面向Python 2),即《Python标准库》(Addison-Wesley, 2011)。
|
目錄:
|
译者序前言第1章 文本11.1 string:文本常量和模板11.1.1 函数11.1.2 模板21.1.3 高级模板31.1.4 Formatter51.1.5 常量51.2 textwrap:格式化文本段落61.2.1 示例数据61.2.2 填充段落71.2.3 去除现有的缩进71.2.4 结合dedent和f?ill81.2.5 缩进块81.2.6 悬挂缩进101.2.7 截断长文本101.3 re:正则表达式111.3.1 查找文本中的模式111.3.2 编译表达式121.3.3 多重匹配131.3.4 模式语法141.3.5 限制搜索221.3.6 用组解析匹配241.3.7 搜索选项291.3.8 前向或后向351.3.9 自引用表达式381.3.10 用模式修改字符串421.3.11 利用模式拆分441.4 diff?lib:比较序列461.4.1 比较文本体471.4.2 无用数据491.4.3 比较任意类型50第2章 数据结构522.1 enum:枚举类型532.1.1 创建枚举532.1.2 迭代532.1.3 比较Enum542.1.4 唯一枚举值552.1.5 通过编程创建枚举562.1.6 非整数成员值582.2 collections:容器数据类型602.2.1 ChainMap:搜索多个字典602.2.2 Counter:统计可散列的对象632.2.3 defaultdict:缺少的键返回一个默认值662.2.4 deque:双端队列672.2.5 namedtuple:带命名字段的元组子类702.2.6 OrderedDict:记住向字典中增加键的顺序742.2.7 collections.abc:容器的抽象基类762.3 数组:固定类型数据序列782.3.1 初始化782.3.2 处理数组792.3.3 数组和文件792.3.4 候选字节顺序802.4 heapq:堆排序算法812.4.1 示例数据812.4.2 创建堆822.4.3 访问堆的内容832.4.4 堆的数据极值852.4.5 高效合并有序序列852.5 bisect:维护有序列表862.5.1 有序插入862.5.2 处理重复872.6 queue:线程安全的FIFO实现882.6.1 基本FIFO队列882.6.2 LIFO队列892.6.3 优先队列892.6.4 构建一个多线程播客客户程序902.7 struct:二进制数据结构932.7.1 函数与Struct类932.7.2 打包和解包932.7.3 字节序942.7.4 缓冲区952.8 weakref:对象的非永久引用962.8.1 引用962.8.2 引用回调972.8.3 最终化对象982.8.4 代理1002.8.5 缓存对象1012.9 copy:复制对象1032.9.1 浅副本1032.9.2 深副本1042.9.3 定制复制行为1052.9.4 深副本中的递归1062.10 pprint:美观打印数据结构1072.10.1 打印1082.10.2 格式化1082.10.3 任意类1092.10.4 递归1102.10.5 限制嵌套输出1102.10.6 控制输出宽度111第3章 算法1133.1 functools:管理函数的工具1133.1.1 修饰符1133.1.2 比较1193.1.3 缓存1223.1.4 缩减数据集1253.1.5 泛型函数1273.2 itertools:迭代器函数1293.2.1 合并和分解迭代器1293.2.2 转换输入1323.2.3 生成新值1333.2.4 过滤1353.2.5 数据分组1383.2.6 合并输入1393.3 operator:内置操作符的函数接口1443.3.1 逻辑操作1443.3.2 比较操作符1453.3.3 算术操作符1453.3.4 序列操作符1463.3.5 原地操作符1483.3.6 属性和元素获取方法1483.3.7 结合操作符和定制类1503.4 contextlib:上下文管理器工具1513.4.1 上下文管理器API1513.4.2 上下文管理器作为函数修饰符1533.4.3 从生成器到上下文管理器1543.4.4 关闭打开的句柄1563.4.5 忽略异常1573.4.6 重定向输出流1583.4.7 动态上下文管理器栈159第4章 日期和时间1664.1 time:时钟时间1664.1.1 比较时钟1664.1.2 墙上时钟时间1674.1.3 单调时钟1684.1.4 处理器时钟时间1694.1.5 性能计数器1704.1.6 时间组成1704.1.7 处理时区1714.1.8 解析和格式化时间1724.2 datetime:日期和时间值管理1744.2.1 时间1744.2.2 日期1754.2.3 timedelta1774.2.4 日期算术运算1784.2.5 比较值1794.2.6 结合日期和时间1794.2.7 格式化和解析1804.2.8 时区1824.3 calendar:处理日期1834.3.1 格式化示例1834.3.2 本地化环境1854.3.3 计算日期186第5章 数学运算1885.1 decimal:定点数和浮点数的数学运算1885.1.1 Decimal1885.1.2 格式化1895.1.3 算术运算1905.1.4 特殊值1915.1.5 上下文1925.2 fractions:有理数1965.2.1 创建Fraction实例1975.2.2 算术运算1985.2.3 近似值1995.3 random:伪随机数生成器1995.3.1 生成随机数2005.3.2 指定种子2005.3.3 保存状态2015.3.4 随机整数2025.3.5 选择随机元素2035.3.6 排列2035.3.7 采样2055.
|
內容試閱:
|
标准库会随每一版Python的发布而发布,其中包含数百个模块,为操作系统、解释器和互联网之间的交互提供了丰富的工具所有这些模块都得到充分测试,可以用来作为应用开发的起点。本书会提供一些精选的例子,向你展示如何使用这些模块中最常用的一些特性,正是这些特性使Python有了内含动力(batteries included)的座右铭。这些例子均取自颇受关注的Python Module of the Week(PyMOTW)博客系列。本书读者对象本书的读者应该是中等程度的Python程序员,所以尽管书中对所有源代码都做了讨论,却也只有少数情况会逐行给出解释。每一节都强调了模块的特性,并通过源代码以及完全独立的示例程序的输出来具体说明。本书还尽可能简洁地介绍了各个特性,使读者能够把重点放在所展示的模块或函数上,而不会因支持代码而分心。熟悉其他语言的有经验的程序员可以利用本书来了解Python,但本书并不是关于Python语言的入门读物。研究这些例子时,如果之前有编写Python程序的经验,那么一定会很有帮助。很多章节(比如介绍套接字网络编程或hmac加密的章节)还需要一些领域特定的知识。书中会提供解释这些例子所需的基本信息,不过由于标准库中模块涵盖的主题如此宽泛,所以不可能在一本书中全面地介绍每一个主题。在每个模块的讨论之后,还提供了一个推荐资源列表,大家可以进一步阅读这些资源,从中了解更多信息。推荐资源包括在线资源、RFC标准文档以及相关图书。Python 3与Python 2Python社区目前正在从Python 2向Python 3过渡。从主版本号可以看出,Python 2和Python 3有很多不兼容之处,而且这种不兼容不只是存在于语言中。Python 3中很多标准库模块都已经改名或者重新组织。Python开发社区认识到这种不兼容可能需要一个很长的过渡期,最终Python库和工具的生态系统会更新为使用Python 3。尽管很多项目仍依赖于Python 2,但Python 2目前只接受安全更新,并且还计划在2020年前完全废弃。所有新特性都只能在Python 3版本中使用。编写可以同时用于这两个版本的程序可能很有难度,但并不是全无可能。这样做通常要求检查程序在哪个Python版本下运行,并且在导入时使用不同的模块名,或者在调用类或函数时使用不同的参数。在标准库之外,已经有大量工具可以简化这个过程。为了保证本书中的例子尽可能简洁,同时仍然只依赖于标准库,我们将主要强调Python 3。所有例子已经在Python 3.5上通过测试(写作本书时3.x系列的当前版本),如果不加修改,可能无法用于Python 2。要查看专门为使用Python 2而设计的例子,请参考本书的Python 2版本《Python标准库》。为了保证为每个例子提供清晰而简洁的描述,每一章不会过分强调Python 2和Python 3的差别。关于移植说明的附录会总结这两个版本之间一些最大的区别,这部分内容会合理组织,以便能有效地帮助从Python 2到Python 3的移植。本书组织结构http:docs.python.org上提供了详尽的参考指南,而本书可以作为补充,提供功能完备的示例程序来展示这里介绍的特性。模块被分组为不同章节,以便轻松查找单个模块作为参考,并且可以按主题浏览进行更深层次的探讨。尽管可能不会一页页地从头到尾阅读本书,但如果你确实想要这么做,那么为了预备这种情况,本书也做了合理的组织,尽可能不要求你提前参考还没有介绍过的模块,不过要想完全避免这种情况是不可能的。下载示例代码原来的博客文章和示例代码可以在https:pymotw.com3找到。本书勘误可以从作者的网站(https:doughellmann.comblogthe-python-3-standard-library-by-example)下载。致谢如果没有大家的贡献和支持,这本书绝无可能问世。1997年Dick Wall让我第一次接触到Python,那时我们正在ERDAS一起合作开发GIS软件。记得在发现这样一个如此简便易用的新的工具语言时,我便立刻喜欢上了它,而且还对公司不让我们用它来完成实际工作颇有不满。在接下来的所有工作中我大量使用了Python,而这正是因为Dick,我要感谢从那以后软件开发给我带来的快乐时光。Python核心开发小组创建了一个由语言、工具和库共同构建的健壮的生态系统,这些库在日益普及,也在不断发现新的应用领域。如果没有他们付出的宝贵时间,没有他们提供的丰富资源,我们可能还得花时间一次又一次地从头开始。本书中的材料最初是一系列博客帖子。如果没有博客读者们异常积极的响应,这些文章不会更新成使用Python 3,这本新书也不可能出现。每个帖子都得到了Python社区成员的审阅和评论,有纠正,有建议,也有问题,这些评论促使我做出修改,这才有了你手上这本书。感谢大家日复一日地花时间来阅读我的博客,谢谢大家投入的时间和精力。本书的技术审校人员Diana Clarke、Ian Cordasco、Mark McClain、Paul McLanahan和Ryan Petrello花了大量时间查找示例代码和相关解释中存在的问题。感谢他们的辛勤工作,最终的作品远比我靠一人之力得到的结果好得多。Jim Baker描述readline模块时提供了很有帮助的观点,特别是为那些GNU库很老或者默认未安装GNU库的平台提出了gnureadline包。Patr
|
|