商品详情
书名:Python技术手册(第四版)
书号:978-7-5239-0353-7
定价:198元
作者:[美国]亚历克斯·马特利(Alex Martelli),[美国]安娜·马特利·莱温斯克(Anna Martelli Ravenscroft),[英国]史蒂夫·奥尔登(Steve Holden),[美国]保罗·麦圭尔(Paul McGuire)
出版时间:2025-10-15
出版社:中国电力出版社
页码: 704 字数(千字):809
开本:16开 版次:1 印次:1
品牌介绍
中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。
编辑推荐
编辑推荐 Python最近被TIOBE Index评为当今最受欢迎的编程语言,这尤其归功于它在设计、原型、测试、部署和维护中的广泛适用性。通过修订的第四版,你将学习如何充分利用Python,无论你是专业程序员还是想用这门语言解决特定领域问题的人。 新版由Python领域公认的专家精心策划,专注于Python 3.10。这部关于Python语言的经典著作完全涵盖五个版本,包括最新发布的Python 3.11。 专家推荐 “这本书深入、前沿、通俗、实用,是一本出色的现代参考书,充满领悟和建议,能满足从初学者到专家等所有读者。” ——Mark Summerfield Qtrac公司总监
作者介绍
本书作者是四位Python软件基金会成员,其中三位是Frank Willison奖获得者,因对Python及社区的众多贡献而闻名。他们的经验涵盖从学术到初创公司、从企业到政府的各种环境和平台。他们共同编写了一本关于Python语言句法和特性、Python标准库,以及精选第三方包的权威参考书。
内容介绍
Python最近被TIOBE Index评为当今最受欢迎的编程语言,这尤其归功于它在设计、原型、测试、部署和维护中的广泛适用性。本书的主要内容有:了解Python如何通过对象表示数据和程序。理解类型注解的价值和用途。探讨特定的语言特性在哪个版本出现。探索如何使用现代的Python惯用法。学习如何合理组织Python项目。掌握如何测试、调试和优化Python代码。
本书适用于本书面向之前接触过Python的程序员,以及从其他语言而来,第一次接触Python的有经验的程序员。
前言
前言 Python 编程语言调和了许多明显的矛盾:优雅而实用,简单而强大;身为高级语言,但不妨碍你处理位和字节;适合新手程序员,专家用着也趁手。 本书面向之前接触过Python 的程序员,以及从其他语言而来,第一次接触Python 的有经验的程序员。本书概览Python 语言自身,涵盖庞大的标准库中最常用的部分,以及一些最流行和最有用的第三方模块和包。Python 生态系统发展迅速,包罗万象、错综复杂,仅用一本书很难全面覆盖。本书尽量涵盖不同的应用领域,包括Web 和网络编程、XML 处理、数据库交互和高速数值计算。另外,还探讨了Python 的跨平台能力,以及扩展Python 和将其嵌入其他应用的基础知识。 内容编排 本书可以从前到后依次阅读,不过笔者也希望程序员把它当作日常工作的参考资料。你可以通过索引查找感兴趣的内容阅读,也可以单独阅读某一章,了解特定的话题。无论你如何阅读,笔者真诚地希望我们这一年的工作成果能让你有所收获。 本书分为以下五部分。 第一部分 认识Python 第1 章 Python 简介 概览Python 语言的一般特征、实现方式、从哪里获得帮助和信息、如何加入Python 社区,以及如何获取Python,在计算机中安装,或者在浏览器中运行。 第2 章 Python 解释器 介绍Python 解释器程序、其命令行选项,以及如何使用它运行Python 程序和在交互式会话中使用。本章简介用于编辑Python 程序的文本编辑器和用于检查Python 源码的辅助程序,以及一些成熟的集成开发环境,包括Python 自带的免费IDLE。本章还介绍如何在命令行中运行Python 程序。 第二部分 Python 语言核心和内置特性 第3 章 Python 语言 介绍Python 句法、内置数据类型、表达式、语句、控制流,以及如何编写和调用函数。 第4 章 Python 面向对象编程 介绍Python 面向对象编程。 第5 章 类型注解 介绍如何为Python 代码添加类型信息,如何利用现代的代码编辑器提供的类型提示和自动补全,以及如何借助类型检查器和lint 程序对代码做静态类型检查。 第6 章 异常 介绍如何使用异常处理错误和特殊状况、如何记录日志,以及如何编写自动清理异常遗留问题的代码。 第7 章 模块和包 介绍如何通过模块和包组织Python 代码、如何定义和导入模块,以及如何安装第三方Python 包。本章还介绍如何使用虚拟环境隔离项目依赖。 第8 章 内置核心结构和标准库模块 介绍内置数据类型和函数,以及Python 标准库中一些最基本的模块(差不多都是其他语言内置而Python 通过标准库模块提供的功能)。 第9 章 字符串 介绍Python 处理字符串(包括Unicode 字符串、字节串和字符串字面量)的机制。 第10 章 正则表达式 介绍Python 对正则表达式的支持。 第三部分 Python 库和扩展模块 第11 章 文件和文本处理 介绍如何使用Python 标准库中的多个模块和针对特定平台的富文本I/O 扩展处理文件和文本。本章还涉及国际化和本地化相关问题。 第12 章 持久化和数据库 介绍Python 的序列化和持久化机制,以及为DBM 数据库和关系数据库(基于SQL)提供的接口,特别是Python 标准库附带的便捷的SQLite。 第13 章 时间操作 介绍如何使用Python 标准库和第三方扩展处理时间和日期。 第14 章 自定义执行 介绍在Python 中实现高级执行控制的方法,包括执行动态生成的代码和控制垃圾回收。本章还介绍一些Python 内部类型,以及注册在程序终止时执行的“清理”函数涉及的相关问题。 第15 章 并发:线程和进程 介绍Python 的并发执行功能,涵盖在一个进程中运行多个线程和在一台设备中运行多个进程两种方式。注1 本章还介绍如何访问进程环境,以及如何通过内存映射机制访问文件。 第16 章 数值处理 介绍Python 提供的数值计算功能,涵盖标准库模块和第三方扩展包;重点说明如何用十进制数或小数代替默认的二进制浮点数。本章还介绍如何获得和使用伪随机数和真正的随机数,以及如何快速处理全是数字的整个数组(和矩阵)。 第17 章 测试、调试和优化 介绍Python 为确保程序正确(即做该做的事)、发现及修正程序错误,以及检查和提升程序性能而提供的工具和方法。本章还介绍警告概念以及处理警告的Python 库模块。 第四部分 网络和Web 编程 第18 章 网络编程基础 介绍Python 网络编程基础知识。 第19 章 客户端网络协议模块 介绍Python 标准库中用于编写网络客户端程序的模块,重点说明如何在客户端处理各种网络协议、如何收发电子邮件,以及如何处理URL。 第20 章 伺服HTTP 介绍如何使用流行的第三方Python 框架编写Web 服务器,通过Python 的标准接口WSGI 为Web 应用伺服HTTP。 第21 章 电子邮件、MIME 和其他网络编码 介绍如何使用Python 处理电子邮件和其他网络结构化和编码文档。 第22 章 结构化文本:HTML 介绍用于处理、修改和生成HTML 文档的Python 第三方流行扩展模块。 第23 章 结构化文本:XML 介绍用于处理、修改和生成XML 文档的Python 库模块和流行的扩展。 第五部分 扩展、分发、版本升级和迁移 在本书纸质版中,第24 章和第25 章仅保留简要介绍,完整内容放在配套在线仓库中,详见“联系我们”一节。 第24 章 打包程序和扩展 介绍打包及分享Python 模块和应用的工具和模块。 第25 章 扩展和嵌入经典Python 介绍如何使用Python 的C API、Cython 和其他工具编写Python 扩展模块。 第26 章 从Python 3.7 迁移到Python 3.n 介绍为Python 用户规划和部署版本升级相关的话题和最佳实践,涵盖个人用户、库维护人员和企业内参与部署和支持的人员。 附录 Python 3.7 到3.11 的新特性和变更 详列Python 各版本在语言句法和标准库方面的特性和变动。 体例 本书行文采用以下约定。 引用约定 引用函数和方法时,尽量使用Python 句法name=value 给出每个可选参数及其默认值。内置函数不需要接受具名参数,因此参数名称可能并不重要。一些可选参数最好根据存在与否来说明,而不是通过默认值解释。遇到这种情况,使用方括号([])表示参数是可选的。有多个可选参数时,嵌套多对方括号。 版本约定 本书涵盖Python 3.7 到3.11 版本的变动和特性。 所有表格和代码示例以Python 3.7 为基础,除非另有说明。注2 所涵盖的版本涉及的变动,或者特性的增减,使用以下符号表示。 • 3.x+ 表示3.x 版引入的特性,在之前的版本中不可用。 • -3.x 表示3.x 版删除的特性,只在之前的版本中可用。 排版约定 注意,排版需要,有些代码片段和示例不符合PEP 8(https://oreil.ly/u0RLL)规定。 自己编写代码时请不要这么无拘无束。建议使用black(https://oreil.ly/BM68x)之类的工具严守一种编程风格。 本书采用以下排版约定。 斜体 表示文件和目录名称、程序名称、URL 和新术语。 等宽字体(constant width) 表示命令行输出和代码示例,以及正文中出现的代码元素,包括方法、函数、类和模块。 等宽斜体(constant width italic) 表示代码示例和命令中应由用户提供的值替代的文本。 等宽粗体(constant width bold) 表示应在系统命令行中输入的命令,以及Python 解释器会话示例输出的代码。也用于表示Python 关键字。 使用代码示例 本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无须联系我们获得许可。比如,用本书的几个代码片段写一个程序就无须获得许可。销售或分发O’Reilly 图书的示例需要获得许可,引用本书中的示例代码回答问题无须获得许可,将书中大量的代码放到你的产品文档中需要获得许可。 我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和ISBN,例如:“Python in a Nutshell, 4th ed., by Alex Martelli,Anna Martelli Ravenscroft, Steve Holden, and Paul McGuire. Copyright 2023, 978-1-098-11355-1”。 如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 与我们联系。 O’Reilly 在线学习平台(O’Reilly Online Learning) 近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly 和200 多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。 联系我们 请把对本书的评价和问题发给出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2号成铭大厦C座807室(100035) 奥莱利技术咨询(北京)有限公司 本书配套GitHub 仓库中有勘误、示例和其他补充信息,还有第24 章和第25 章的完整内容(因纸质版篇幅有限未完整呈现)。仓库地址是https://github.com/pynutshell/pynut4。 笔者已尽最大努力测试和验证书中的信息,但是语言特性时有变化(有些甚至是笔者犯的错误)。如果你发现错误,或者对未来的版本有什么建议,请与出版社联系。 O’Reilly 网站中有一个网页给出了本书勘误、示例和其他补充信息。详情请访问https://oreil.ly/python-nutshell-4e。 对本书的评论和技术性问题,请发送电子邮件到pynut4@gmail.com。 要了解更多O’Reilly 图书和培训信息,请访问https://oreilly.com。 我们的LinkedIn:https://linkedin.com/company/oreilly-media。 我们的Twitter:https://twitter.com/oreillymedia。 我们的YouTube:https://youtube.com/oreillymedia。 致谢 非常感谢O’Reilly 的编辑和工作人员:Amanda Quinn,Brian Guerin,Zan McQuade和Kristen Brown。特别感谢编辑Angela Rufino,是她不厌其烦的督促,笔者才能按时完成书稿。此外,感谢优秀的文字编辑Rachel Head,有了她的帮助才显得笔者博学多才;感谢产品编辑Christopher Faucher,在他的辛劳下,本书印刷版和电子版才得以呈现最佳效果。 感谢辛勤付出的技术审校:David Mertz,Mark Summerfield 和Pankaj Gaijar。感谢他们一字不落阅读本书草稿中的每一句话、每一个示例。没有他们,本书的准确性将大打折扣。注3 如果还有什么错误的话,责任全在笔者。 还要感谢Luciano Ramalho、整个PyPy 团队、Sebastián Ramírez、Fabio Pliger、Miguel Grinberg 和Python Packaging Authority 团队对本书部分章节的帮助。感谢Google 推出的在线协作工具Workspace,没有这些工具,笔者就无法简单高效地深入交流(几位作者生活在不同的大洲)。 最后,本书的作者和所有读者都应非常感谢Python 语言的核心开发人员,没有他们矢志不渝的贡献,就没有本书的存在。
目录
目录
前言 1
第1 章 Python 简介 9
11 Python 语言 9
12 Python 标准库和扩展模块 10
13 Python 实现 11
14 Python 的开发和版本 18
15 Python 资源 19
16 安装 23
17 使用二进制包安装 24
18 从源码安装Python 25
第2 章 Python 解释器 29
21 python 程序 29
22 Python 开发环境 35
23 运行Python 程序 37
24 在浏览器中运行Python 39
第3 章 Python 语言 41
31 词法结构 41
32 数据类型 48
33 变量和其他引用 61
34 表达式和运算符 66
35 数字运算 70
36 序列操作 72
37 集合操作 78
38 字典操作 80
39 控制流语句 83
310 函数 104
第4 章 Python 面向对象编程 127
41 类和实例 127
42 特殊方法 154
43 装饰器 169
44 元类 170
第5 章 类型注解 183
51 历史 183
52 类型检查实用工具 184
53 类型注解句法 186
54 typing 模块 189
55 在运行时使用类型注解 204
56 如何为代码添加类型注解 205
57 小结 208
第6 章 异常 209
61 try 语句 209
62 raise 语句 214
63 with 语句和上下文管理器 215
64 生成器和异常 218
65 异常传播 218
66 异常对象 220
67 自定义异常类 225
68 ExceptionGroup 和except* 227
69 错误检查策略 228
610 assert 语句 234
第7 章 模块和包 235
71 模块对象 236
72 模块加载 241
73 包 247
74 distutils 和setuptools 249
75 Python 环境 251
第8 章 内置核心结构和标准库模块 259
81 内置类型 259
82 内置函数 263
83 sys 模块 270
84 copy 模块 274
85 collections 模块 275
86 functools 模块 280
87 heapq 模块 282
88 argparse 模块 285
89 itertools 模块 287
第9 章 字符串 291
91 字符串对象的方法 291
92 string 模块 296
93 字符串格式化 297
94 文本换行和填充 310
95 pprint 模块 311
96 reprlib 模块 311
97 Unicode 312
第10 章 正则表达式 315
101 正则表达式和re 模块 315
102 可选标志 322
103 匹配与搜索 324
104 锚定字符串的开头和末尾 324
105 正则表达式对象 325
106 匹配对象 328
107 re 模块的函数 329
108 正则表达式和:= 运算符 330
109 第三方模块regex 331
第11 章 文件和文本处理 333
111 io 模块 334
112 tempfile 模块 340
113 文件I/O 辅助模块 342
114 内存文件:ioStringIO 和ioBytesIO 347
115 存档文件和压缩文件 347
116 os 模块 355
117 errno 模块 367
118 pathlib 模块 367
119 stat 模块 372
1110 filecmp 模块 373
1111 fnmatch 模块 375
1112 glob 模块 376
1113 shutil 模块 376
1114 文本输入和输出 378
1115 富文本I/O 381
1116 国际化 384
第12 章 持久化和数据库 393
121 序列化 394
122 DBM 模块 406
123 Python Database API(DBAPI) 409
第13 章 时间操作 420
131 time 模块 420
132 datetime 模块 424
133 zoneinfo 模块 431
134 dateutil 模块 433
135 sched 模块 434
136 calendar 模块 435
第14 章 自定义执行 437
141 站域定制 437
142 终止函数 438
143 动态执行和exec 438
144 内部类型 442
145 垃圾回收 443
第15 章 并发:线程和进程 450
151 Python 中的线程 452
152 threading 模块 453
153 queue 模块 463
154 multiprocessing 模块 466
155 concurrentfutures 模块 475
156 多线程程序架构 477
157 进程的环境 482
158 运行其他程序 483
159 mmap 模块 487
第16 章 数值处理 492
161 浮点值 492
162 math 和cmath 模块 495
163 statistics 模块 500
164 operator 模块 500
165 随机数和伪随机数 503
166 fractions 模块 506
167 decimal 模块 507
168 数组处理 509
第17 章 测试、调试和优化 520
171 测试 521
172 调试 534
173 warnings 模块 544
174 优化 547
第18 章 网络编程基础 569
181 Berkeley 套接字接口 570
182 传输层安全 584
183 SSLContext 585
第19 章 客户端网络协议模块 587
191 电子邮件协议 587
192 HTTP 和URL 客户端 590
193 其他网络协议 598
第20 章 伺服HTTP 600
201 httpserver 601
202 WSGI 601
203 Python Web 框架 603
第21 章 电子邮件、MIME 和其他网络编码 614
211 MIME 和电子邮件格式处理 614
212 将二进制数据编码为ASCII 文本 622
第22 章 结构化文本:HTML 626
221 htmlentities 模块 627
222 第三方包BeautifulSoup 627
223 生成HTML 639
第23 章 结构化文本:XML 646
231 ElementTree 647
232 使用ElementTreeparse 解析XML 653
233 从头构建ElementTree 655
234 逐步解析XML 655
第24 章 打包程序和扩展 658
241 本章未涵盖的内容 659
242 Python 打包简史 660
243 在线材料 661
第25 章 扩展和嵌入经典Python 662
第26 章 从Python 37 迁移到Python 3n 664
261 Python 311 之前的重大变化 664
262 规划Python 版本升级 666
263 小结 670
附录 Python 37 到311 的新特性和变更 671
- 有电书房
- 扫描二维码,访问我们的微信店铺