没有合适的资源?快使用搜索试试~ 我知道了~
首页Python 3.9.5 内置功能与类型详解
Python 3.9.5 内置功能与类型详解
需积分: 9 1 下载量 94 浏览量
更新于2024-07-09
收藏 9.87MB PDF 举报
"Python 3.9.5 库参考中文手册.pdf"
这份文档是针对Python 3.9.5版本的内置库和核心语言功能的详细参考指南。它涵盖了Python编程中的各种基本数据类型、操作和函数,是开发者理解和使用Python语言的重要参考资料。
1. **概述**
- 概述部分通常会介绍Python的可用性,以及在不同操作系统和环境下的兼容性情况。这里可能包括对Python 3.9.5的一些新特性或者改进的简要说明。
2. **内置函数**
- Python的内置函数是语言本身提供的功能,如`len()`、`print()`、`type()`等。这些函数无需导入即可使用,是Python编程的基础。
3. **内置常量**
- 内置常量包括Python中预定义的值,如`True`、`False`、`None`等。3.9.5版本可能会包含由`site`模块添加的额外常量,这些常量可能与特定的系统配置或默认设置有关。
4. **内置类型**
- 这部分详细介绍了Python中的各种数据类型,如逻辑值(bool)、数字(int, float, complex)、迭代器、序列(list, tuple, range)、文本序列(str)和二进制序列(bytes, bytearray, memoryview)等。
- **逻辑值检测**:`bool()`函数可以将任何值转换为布尔值,`True`表示非零和非空值,`False`表示零或空值。
- **布尔运算**:`and`, `or`, `not`是Python的逻辑运算符,用于组合条件表达式。
- **比较**:Python支持多种比较操作符,如`<`, `>`, `==`, `!=`, `<=`, `>=`,用于比较数值或对象。
- **数字类型**:`int`、`float`和`complex`提供了整数、浮点数和复数的操作。整数支持按位运算,浮点数和复数有各自的附加方法。
5. **迭代器类型**
- 迭代器是一种可以逐个访问集合元素的对象,比如生成器(generator)。
6. **序列类型**
- 包括可变序列(如`list`)和不可变序列(如`tuple`)。`range`对象表示一个整数序列,通常用于循环或索引操作。序列支持通用操作,如索引、切片、加法、乘法等。
7. **文本序列类型**(`str`)
- `str`对象是Unicode字符串,提供了丰富的文本处理方法,如字符串拼接、查找、替换、分割等。此外,还介绍了`printf`风格的字符串格式化方法。
8. **二进制序列类型**
- 包括`bytes`和`bytearray`,它们分别表示不可变和可变的字节序列。还有`memoryview`,允许对二进制数据进行安全的共享和操作。
9. **集合类型**(`set`和`frozenset`)
- 集合是无序的、不重复的元素集合,提供并集、交集、差集等操作。
10. **映射类型**(`dict`)
- 字典是键值对的集合,提供了高效的查找和存储功能。字典视图对象允许查看字典的一部分视图。
11. **上下文管理器类型**
- 上下文管理器通过`with`语句管理资源的获取和释放,如文件I/O、锁定等。
12. **GenericAliasType**
- GenericAliasType与Python的类型别名相关,允许创建自定义的类型提示,如`List[str]`表示字符串列表。
13. **其他内置类型**
- 包括`module`(模块)和其他特殊类型,它们在Python的运行时环境中扮演着重要角色。
这份文档是Python开发者的重要参考资料,无论是初学者还是经验丰富的程序员,都可以从中找到关于Python 3.9.5的详细信息和使用指导。
21.23 http.cookies --- HTTP 状态管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
21.23.1 Cookie 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213
21.23.2 Morsel 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
21.23.3 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215
21.24 http.cookiejar ——HTTP 客户端的 Cookie 处理 . . . . . . . . . . . . . . . . . . . . . . 1216
21.24.1 CookieJar 和 FileCookieJar 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217
21.24.2 FileCookieJar subclasses and co-operation with web browsers . . . . . . . . . . . . . . . 1219
21.24.3 CookiePolicy 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219
21.24.4 DefaultCookiePolicy 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
21.24.5 Cookie 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222
21.24.6 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223
21.25 xmlrpc --- XMLRPC 服务端与客户端模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224
21.26 xmlrpc.client --- XML-RPC 客户端访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224
21.26.1 ServerProxy 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226
21.26.2 DateTime 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227
21.26.3 Binary 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227
21.26.4 Fault 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1228
21.26.5 ProtocolError
对象
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
21.26.6 MultiCall 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
21.26.7 Convenience Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1230
21.26.8 Example of Client Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1230
21.26.9 Example of Client and Server Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
21.27 xmlrpc.server --- 基本 XML-RPC 服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . 1231
21.27.1 SimpleXMLRPCServer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232
21.27.2 CGIXMLRPCRequestHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235
21.27.3 Documenting XMLRPC server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236
21.27.4 DocXMLRPCServer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236
21.27.5 DocCGIXMLRPCRequestHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
21.28 ipaddress --- IPv4/IPv6 操作库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
21.28.1 方便的工厂函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237
21.28.2 IP 地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238
21.28.3 IP 网络的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242
21.28.4 Interface objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247
21.28.5 Other Module Level Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249
21.28.6 Custom Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1250
22 多媒体服务 1251
22.1 audioop --- 处理原始音频数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
22.2
aifc
---
读写
AIFF
和
AIFC
文件
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
22.3 sunau --- 读写 Sun AU 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256
22.3.1 AU_read 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257
22.3.2 AU_write 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258
22.4 wave --- 读写 WAV 格式文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258
22.4.1 Wave_read 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1259
22.4.2 Wave_write 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
22.5 chunk --- 读取 IFF 分块数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261
22.6 colorsys --- 颜色系统间的转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262
22.7 imghdr --- 推测图像类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262
22.8 sndhdr --- 推测声音文件的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263
22.9 ossaudiodev --- Access to OSS-compatible audio devices . . . . . . . . . . . . . . . . . . . . 1264
22.9.1 Audio Device Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264
22.9.2 Mixer Device Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
23
国际化
1269
23.1 gettext --- 多语种国际化服务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269
23.1.1 GNU gettext API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269
23.1.2 基于类的 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271
23.1.3 国际化 (I18N) 你的程序和模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1274
xiv
23.1.4 致谢 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277
23.2 locale --- 国际化服务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277
23.2.1 Background, details, hints, tips and caveats . . . . . . . . . . . . . . . . . . . . . . . . . 1282
23.2.2 For extension writers and programs that embed Python . . . . . . . . . . . . . . . . . . . 1283
23.2.3 Access to message catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283
24 程序框架 1285
24.1 turtle --- 海龟绘图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
24.1.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
24.1.2 可用的 Turtle 和 Screen 方法概览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
24.1.3 RawTurtle/Turtle 方法和对应函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289
24.1.4 TurtleScreen/Screen 方法及对应函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1305
24.1.5 公共类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311
24.1.6 帮助与配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
24.1.7 turtledemo --- 演示脚本集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315
24.1.8 Python 2.6 之后的变化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315
24.1.9 Python 3.0 之后的变化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
24.2 cmd --- 支持面向行的命令解释器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
24.2.1 Cmd 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
24.2.2 Cmd 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318
24.3 shlex --- Simple lexical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320
24.3.1 shlex Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322
24.3.2 Parsing Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324
24.3.3 Improved Compatibility with Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324
25 Tk 图形用户界面 (GUI) 1327
25.1 tkinter --- Tcl/Tk 的 Python 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327
25.1.1 Tkinter 模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328
25.1.2 Tkinter Life Preserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
25.1.3 A (Very) Quick Look at Tcl/Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330
25.1.4 Mapping Basic Tk into Tkinter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331
25.1.5 How Tk and Tkinter are Related . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331
25.1.6 Handy Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332
25.1.7 File Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1337
25.2 tkinter.colorchooser --- 颜色选择对话框 . . . . . . . . . . . . . . . . . . . . . . . . . 1338
25.3 tkinter.font --- Tkinter 字体封装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338
25.4 Tkinter 对话框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1339
25.4.1 tkinter.simpledialog --- 标准 Tkinter 输入对话框 . . . . . . . . . . . . . . . 1339
25.4.2 tkinter.filedialog --- 文件选择对话框. . . . . . . . . . . . . . . . . . . . . . 1340
25.4.3 tkinter.commondialog --- 对话窗口模板 . . . . . . . . . . . . . . . . . . . . . 1342
25.5 tkinter.messagebox --- Tkinter 消息提示 . . . . . . . . . . . . . . . . . . . . . . . . . . 1342
25.6 tkinter.scrolledtext --- 滚动文字控件 . . . . . . . . . . . . . . . . . . . . . . . . . . 1343
25.7 tkinter.dnd --- 拖放操作支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343
25.8 tkinter.ttk --- Tk 主题部件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344
25.8.1 使用 Ttk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1344
25.8.2 Ttk 控件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
25.8.3 控件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345
25.8.4 组合框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1347
25.8.5 Spinbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1348
25.8.6 笔记本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349
25.8.7 Progressbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
25.8.8 Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1352
25.8.9 Sizegrip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
25.8.10 Treeview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
25.8.11 Ttk Styling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358
25.9 tkinter.tix --- Extension widgets for Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
25.9.1 Using Tix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
25.9.2 Tix Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1363
xv
25.9.3 Tix Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365
25.10 IDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1366
25.10.1 目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1367
25.10.2 编辑和导航 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1370
25.10.3 启动和代码执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1373
25.10.4 帮助和偏好 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1376
25.11 其他图形用户界面(GUI)包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377
26 开发工具 1379
26.1 typing --- 类型提示支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1379
26.1.1 类型别名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1380
26.1.2 NewType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1380
26.1.3 可调对象(Callable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1381
26.1.4 泛型(Generic) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382
26.1.5 用户定义的泛型类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382
26.1.6 Any 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1384
26.1.7 名义子类型 vs 结构子类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385
26.1.8 模块内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385
26.2 pydoc --- 文档生成器和在线帮助系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402
26.3 Python Development Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403
26.4 Effects of the Python Development Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1403
26.5 ResourceWarning Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1404
26.6 Bad file descriptor error example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1405
26.7 doctest --- 测试交互性的 Python 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1406
26.7.1 简单用法:检查 Docstrings 中的示例 . . . . . . . . . . . . . . . . . . . . . . . . . . 1408
26.7.2 Simple Usage: Checking Examples in a Text File . . . . . . . . . . . . . . . . . . . . . . 1408
26.7.3 How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1409
26.7.4 Basic API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1416
26.7.5 Unittest API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1418
26.7.6 Advanced API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1420
26.7.7 调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424
26.7.8 Soapbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1427
26.8 unittest --- 单元测试框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428
26.8.1 基本实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1429
26.8.2 命令行界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1430
26.8.3 探索性测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1431
26.8.4 组织你的测试代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432
26.8.5 复用已有的测试代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1433
26.8.6
跳过测试与预计的失败
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1434
26.8.7 Distinguishing test iterations using subtests . . . . . . . . . . . . . . . . . . . . . . . . . 1435
26.8.8 类与函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1436
26.8.9 Class and Module Fixtures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1454
26.8.10 信号处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455
26.9 unittest.mock --- mock 对象库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456
26.9.1 快速上手 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1456
26.9.2 Mock 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1458
26.9.3 The patchers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474
26.9.4 MagicMock and magic method support . . . . . . . . . . . . . . . . . . . . . . . . . . . 1482
26.9.5 Helpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1486
26.10 unittest.mock 上手指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494
26.10.1 使用 mock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494
26.10.2 Patch Decorators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499
26.10.3 Further Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1501
26.11 2to3 - 自动将 Python 2 代码转为 Python 3 代码 . . . . . . . . . . . . . . . . . . . . . . . . . . 1513
26.11.1 使用 2to3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1513
26.11.2 修复器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1515
26.11.3 lib2to3 ——2to3 支持库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
26.12 test --- Python 回归测试包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1518
xvi
26.12.1 Writing Unit Tests for the test package . . . . . . . . . . . . . . . . . . . . . . . . . . 1519
26.12.2 Running tests using the command-line interface . . . . . . . . . . . . . . . . . . . . . . 1520
26.13 test.support --- Utilities for the Python test suite . . . . . . . . . . . . . . . . . . . . . . . . 1521
26.14 test.support.socket_helper --- Utilities for socket tests . . . . . . . . . . . . . . . . . 1533
26.15 test.support.script_helper --- Utilities for the Python execution tests . . . . . . . . . 1534
26.16 test.support.bytecode_helper --- Support tools for testing correct bytecode generation 1535
27 调试和分析 1537
27.1 审计事件表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1537
27.2 bdb --- Debugger framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1541
27.3 faulthandler --- Dump the Python traceback . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
27.3.1 Dumping the traceback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
27.3.2 Fault handler state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
27.3.3 Dumping the tracebacks after a timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546
27.3.4 Dumping the traceback on a user signal . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546
27.3.5 Issue with file descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1546
27.3.6 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1547
27.4 pdb --- Python 的调试器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1547
27.4.1 调试器命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1549
27.5 Python Profilers 分析器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552
27.5.1 profile 分析器简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553
27.5.2 实时用户手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553
27.5.3 profile 和 cProfile 模块参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1555
27.5.4 Stats 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1556
27.5.5 什么是确定性性能分析? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1558
27.5.6 局限性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559
27.5.7 准确估量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559
27.5.8 使用自定义计时器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1560
27.6 timeit --- 测量小代码片段的执行时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1560
27.6.1 基本示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1560
27.6.2 Python 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1561
27.6.3 命令行界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1562
27.6.4 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1563
27.7 trace --- 跟踪 Python 语句执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565
27.7.1 Command-Line Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565
27.7.2 编程接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566
27.8 tracemalloc --- 跟踪内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567
27.8.1 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568
27.8.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1572
28 软件打包和分发 1579
28.1 distutils --- 构建和安装 Python 模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1579
28.2 ensurepip --- Bootstrapping the pip installer . . . . . . . . . . . . . . . . . . . . . . . . . . 1580
28.2.1 Command line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1580
28.2.2 Module API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581
28.3 venv --- 创建虚拟环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581
28.3.1 创建虚拟环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1582
28.3.2 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1584
28.3.3 一个扩展 EnvBuilder 的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586
28.4 zipapp --- Manage executable Python zip archives . . . . . . . . . . . . . . . . . . . . . . . . . 1589
28.4.1 Basic Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1590
28.4.2 命令行接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1590
28.4.3 Python API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1591
28.4.4
示例
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1592
28.4.5 Specifying the Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1592
28.4.6 Creating Standalone Applications with zipapp . . . . . . . . . . . . . . . . . . . . . . . 1593
28.4.7 The Python Zip Application Archive Format . . . . . . . . . . . . . . . . . . . . . . . . 1595
xvii
29 Python 运行时服务 1597
29.1 sys --- 系统相关的参数和函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1597
29.2 sysconfig --- Provide access to Python’s configuration information . . . . . . . . . . . . . . . 1614
29.2.1 配置变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614
29.2.2 安装路径 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614
29.2.3 其他功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616
29.2.4 Using sysconfig as a script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1616
29.3 builtins --- 内建对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1617
29.4 __main__ --- 顶层脚本环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618
29.5 warnings --- Warning control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618
29.5.1 警告类别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619
29.5.2 The Warnings Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619
29.5.3 暂时禁止警告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1621
29.5.4 测试警告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1622
29.5.5 Updating Code For New Versions of Dependencies . . . . . . . . . . . . . . . . . . . . . 1622
29.5.6 Available Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1623
29.5.7 Available Context Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1624
29.6
dataclasses
---
数据类
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1624
29.6.1 模块级装饰器、类和函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1625
29.6.2 初始化后处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629
29.6.3 类变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629
29.6.4 仅初始化变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629
29.6.5 冻结的实例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1630
29.6.6 继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1630
29.6.7 默认工厂函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1630
29.6.8 可变的默认值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1631
29.6.9 异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1632
29.7 contextlib --- 为 with 语句上下文提供的工具 . . . . . . . . . . . . . . . . . . . . . . . . 1632
29.7.1 工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1632
29.7.2 例子和配方 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1638
29.7.3 Single use, reusable and reentrant context managers . . . . . . . . . . . . . . . . . . . . 1641
29.8 abc --- 抽象基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643
29.9 atexit --- 退出处理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647
29.9.1 atexit 示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1648
29.10 traceback --- 打印或检索堆栈回溯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1649
29.10.1 TracebackException Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1651
29.10.2 StackSummary Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1652
29.10.3 FrameSummary Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1652
29.10.4 Traceback Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1652
29.11 __future__ --- Future 语句定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655
29.12 gc --- 垃圾回收器接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1656
29.13 inspect --- 检查对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1659
29.13.1 类型和成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1659
29.13.2 Retrieving source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663
29.13.3 Introspecting callables with the Signature object . . . . . . . . . . . . . . . . . . . . . . 1663
29.13.4 类与函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1668
29.13.5 The interpreter stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1670
29.13.6 Fetching attributes statically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1671
29.13.7 Current State of Generators and Coroutines . . . . . . . . . . . . . . . . . . . . . . . . . 1672
29.13.8 Code Objects Bit Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1673
29.13.9 命令行界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674
29.14 site ——指定域的配置钩子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674
29.14.1 Readline 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675
29.14.2 模块内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675
29.14.3 命令行界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1676
30 自定义 Python 解释器 1677
30.1 code --- 解释器基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677
xviii
剩余2017页未读,继续阅读
2021-05-29 上传
2021-05-14 上传
2023-04-24 上传
2023-03-21 上传
2023-09-03 上传
2023-05-14 上传
2023-05-19 上传
2023-09-23 上传
2023-04-03 上传
uvgood
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功