2022年11月23日 星期三

What's New In Python 3.12

Python 說明文件內容 Python 有什麼新功能? What's New In Python 3.12 Summary -- Release highlights Improved Error Messages New Features Other Language Changes New Modules Improved Modules array asyncio pathlib dis os shutil sqlite3 threading unicodedata tempfile sys Optimizations CPython bytecode changes Demos and Tools Deprecated Pending Removal in Python 3.13 Pending Removal in Python 3.14 Pending Removal in Future Versions Removed Porting to Python 3.12 Changes in the Python API Build Changes C API Changes New Features Porting to Python 3.12 Deprecated Removed Python 3.11 有什麼新功能 Summary -- Release highlights New Features PEP 657: Fine-grained error locations in tracebacks PEP 654: Exception Groups and except* PEP 678: Exceptions can be enriched with notes Windows py.exe launcher improvements New Features Related to Type Hints PEP 646: Variadic generics PEP 655: Marking individual TypedDict items as required or not-required PEP 673: Self type PEP 675: Arbitrary literal string type PEP 681: Data class transforms PEP 563 may not be the future Other Language Changes Other CPython Implementation Changes New Modules Improved Modules asyncio contextlib dataclasses datetime enum fcntl fractions functools hashlib IDLE and idlelib inspect locale logging math operator os pathlib re shutil socket sqlite3 string sys sysconfig tempfile threading time tkinter traceback typing unicodedata unittest venv warnings zipfile Optimizations Faster CPython Faster Startup Frozen imports / Static code objects Faster Runtime Cheaper, lazy Python frames Inlined Python function calls PEP 659: Specializing Adaptive Interpreter Misc FAQ About CPython bytecode changes New opcodes Replaced opcodes Changed/removed opcodes Deprecated Language/Builtins Modules Standard Library Pending Removal in Python 3.12 Removed Porting to Python 3.11 Build Changes C API Changes New Features Porting to Python 3.11 Deprecated Pending Removal in Python 3.12 Removed Python 3.10 有什麼新功能 摘要 -- 发布重点 新的特性 带圆括号的上下文管理器 更清楚的错误消息 SyntaxErrors IndentationErrors AttributeErrors NameErrors PEP 626:在调试和其他工具中使用精确的行号 PEP 634:结构化模式匹配 语法与操作 声明性方式 简单模式:匹配一个字面值 无通配符的行为 带有字面值和变量的模式 模式和类 带有位置参数的模式 嵌套模式 复杂模式和通配符 约束项 其他关键特性 可选的 EncodingWarning 和 encoding="locale" 选项 有关类型提示的新增特性 PEP 604: 新的类型联合运算符 PEP 612: 形参规格变量 PEP 613: 类型别名 PEP 647: 用户自定义的类型保护器 其他语言特性修改 新增模块 改进的模块 asyncio argparse array asynchat, asyncore, smtpd base64 bdb bisect codecs collections.abc contextlib curses dataclasses __slots__ 仅限关键字字段 distutils doctest encodings enum fileinput faulthandler gc glob hashlib hmac IDLE 与 idlelib importlib.metadata inspect itertools linecache os os.path pathlib platform pprint py_compile pyclbr shelve statistics site socket ssl sqlite3 sys _thread threading traceback types typing unittest urllib.parse xml zipimport 性能优化 弃用 移除 移植到 Python 3.10 Python 语法中的变化 Python API 的变化 C API 中的改動 CPython 字节码的改变 编译版的变化 C API 的变化 PEP 652:稳定版 ABI 的维护 新的特性 移植到 Python 3.10 弃用 移除 Python 3.9 有什麼新功能 摘要 -- 发布重点 请检查代码中的 DeprecationWarning。 新的特性 字典合并与更新运算符 新增用于移除前缀和后缀的字符串方法 标准多项集中的类型标注泛型 新的解析器 其他语言特性修改 新模組 zoneinfo graphlib 改进的模块 ast asyncio compileall concurrent.futures curses datetime distutils fcntl ftplib gc hashlib http IDLE 与 idlelib imaplib importlib inspect ipaddress math multiprocessing nntplib os pathlib pdb poplib pprint pydoc random signal smtplib socket time sys tracemalloc typing unicodedata venv xml 性能优化 弃用 移除 移植到 Python 3.9 Python API 的变化 C API 中的改動 CPython 字节码的改变 构建的改变 C API 的改变 新的特性 移植到 Python 3.9 移除 Python 3.9.1 中的重要变化 typing macOS 11.0 (Big Sur) 与 Apple Silicon Mac 支持 Python 3.9.2 中的重要变化 collections.abc urllib.parse Python 3.8 有什麼新功能 摘要 -- 发布重点 新的特性 赋值表达式 仅限位置形参 用于已编译字节码文件的并行文件系统缓存 调试构建使用与发布构建相同的 ABI f-字符串支持 = 用于自动记录表达式和调试文档 PEP 578: Python 运行时审核钩子 PEP 587: Python 初始化配置 PEP 590: Vectorcall: 用于 CPython 的快速调用协议 具有外部数据缓冲区的 pickle 协议 5 其他语言特性修改 新增模块 改进的模块 ast asyncio builtins collections cProfile csv curses ctypes datetime functools gc gettext gzip IDLE 与 idlelib inspect io itertools json.tool logging math mmap multiprocessing os os.path pathlib pickle plistlib pprint py_compile shlex shutil socket ssl statistics sys tarfile threading tokenize tkinter time typing unicodedata unittest venv weakref xml xmlrpc 性能优化 构建和 C API 的改变 弃用 API 与特性的移除 移植到 Python 3.8 Python 行为的改变 Python API 的变化 C API 中的改動 CPython 字节码的改变 演示和工具 Python 3.8.1 中的重要变化 Python 3.8.8 中的重要变化 Python 3.8.12 中的重要变化 Python 3.7 有什麼新功能 摘要 - 发布重点 新的特性 PEP 563:延迟的标注求值 PEP 538: 传统 C 区域强制转换 PEP 540: 强制 UTF-8 运行时模式 PEP 553: 内置的 breakpoint() PEP 539: 用于线程局部存储的新 C API PEP 562: 定制对模块属性的访问 PEP 564: 具有纳秒级精度的新时间函数 PEP 565: 在 __main__ 中显示 DeprecationWarning PEP 560: 对 typing 模块和泛型类型的核心支持 PEP 552: 基于哈希值的 .pyc 文件 PEP 545:Python 文件翻譯 Python 开发模式 (-X dev) 其他语言特性修改 新模組 contextvars dataclasses importlib.resources 改进的模块 argparse asyncio binascii calendar collections compileall concurrent.futures contextlib cProfile crypt datetime dbm decimal dis distutils enum functools gc hmac http.client http.server idlelib 与 IDLE importlib io ipaddress itertools locale logging math mimetypes msilib multiprocessing os pathlib pdb py_compile pydoc queue re signal socket socketserver sqlite3 ssl string subprocess sys time tkinter tracemalloc types unicodedata unittest unittest.mock urllib.parse uu uuid warnings xml.etree xmlrpc.server zipapp zipfile C API 的改变 构建的改变 性能优化 其他 CPython 实现的改变 已弃用的 Python 行为 已弃用的 Python 模块、函数和方法 aifc asyncio collections dbm enum gettext importlib locale macpath threading socket ssl sunau sys wave 已弃用的 C API 函数和类型 平台支持的移除 API 与特性的移除 移除的模块 Windows 专属的改变 移植到 Python 3.7 Python 行为的更改 Python API 的变化 C API 中的改動 CPython 字节码的改变 Windows 专属的改变 其他 CPython 实现的改变 Python 3.7.1 中的重要变化 Python 3.7.2 中的重要变化 Python 3.7.6 中的重要变化 Python 3.7.10 中的重要变化 Python 3.6 有什麼新功能 摘要 -- 发布重点 新的特性 PEP 498: 格式化字符串字面值 PEP 526: 变量标注的语法 PEP 515: 数字字面值中的下划线。 PEP 525: 异步生成器 PEP 530: 异步推导式 PEP 487: 更简单的自定义类创建 PEP 487: 描述器协议的增强 PEP 519: 添加文件系统路径协议 PEP 495: 消除本地时间的歧义 PEP 529: 将Windows文件系统编码更改为UTF-8 PEP 528: 将Windows控制台编码更改为UTF-8 PEP 520: 保留类属性定义顺序 PEP 468: 保留关键字参数顺序 新的 dict 实现 PEP 523: 向CPython 添加框架评估API PYTHONMALLOC 环境变量 DTrace 和 SystemTap 探测支持 其他语言特性修改 新模組 secrets 改进的模块 array ast asyncio binascii cmath collections concurrent.futures contextlib datetime decimal distutils email encodings enum faulthandler fileinput hashlib http.client idlelib 与 IDLE importlib inspect json logging math multiprocessing os pathlib pdb pickle pickletools pydoc random re readline rlcompleter shlex site sqlite3 socket socketserver ssl statistics struct subprocess sys telnetlib time timeit tkinter traceback tracemalloc typing unicodedata unittest.mock urllib.request urllib.robotparser venv warnings winreg winsound xmlrpc.client zipfile zlib 性能优化 构建和 C API 的改变 其他改进 弃用 新關鍵字 已弃用的 Python 行为 已弃用的 Python 模块、函数和方法 asynchat asyncore dbm distutils grp importlib os re ssl tkinter venv 已弃用的 C API 函数和类型 弃用的构建选项 移除 API 与特性的移除 移植到Python 3.6 'python' 命令行为的变化 Python API 的变化 C API 中的改動 CPython 字节码的改变 Python 3.6.2 中的重要变化 New make regen-all build target Removal of make touch build target Python 3.6.4 中的重要变化 Python 3.6.5 中的重要变化 Python 3.6.7 中的重要变化 Python 3.6.10 中的重要变化 Notable changes in Python 3.6.13 Python 3.4 有什麼新功能 摘要 -- 发布重点 新的特性 PEP 492 - 使用 async 和 await 语法实现协程 PEP 465 - 用于矩阵乘法的专用中缀运算符 PEP 448 - Additional Unpacking Generalizations PEP 461 - percent formatting support for bytes and bytearray PEP 484 —— 类型注解 PEP 471 - os.scandir() function -- a better and faster directory iterator PEP 475: Retry system calls failing with EINTR PEP 479: Change StopIteration handling inside generators PEP 485: A function for testing approximate equality PEP 486: Make the Python Launcher aware of virtual environments PEP 488: Elimination of PYO files PEP 489: Multi-phase extension module initialization 其他语言特性修改 新增模块 typing zipapp 改进的模块 argparse asyncio bz2 cgi cmath code collections collections.abc compileall concurrent.futures configparser contextlib csv curses dbm difflib distutils doctest email enum faulthandler functools glob gzip heapq http http.client idlelib 与 IDLE imaplib imghdr importlib inspect io ipaddress json linecache locale logging lzma math multiprocessing operator os pathlib pickle poplib re readline selectors shutil signal smtpd smtplib sndhdr socket ssl 内存 BIO 支持 Application-Layer Protocol Negotiation Support Other Changes sqlite3 subprocess sys sysconfig tarfile threading time timeit tkinter traceback types unicodedata unittest unittest.mock urllib wsgiref xmlrpc xml.sax zipfile 其他模块级更改 性能优化 构建和 C API 的改变 弃用 新关键字 已弃用的 Python 行为 不支持的操作系统 已弃用的 Python 模块、函数和方法 移除 API 与特性的移除 移植到Python 3.5 Python 行为的改变 Python API 的变化 C API 中的改動 Python 3.5.4 的显著变化 New make regen-all build target Removal of make touch build target Python 3.4 有什麼新功能 摘要 - 发布重点 新的特性 PEP 453: Explicit Bootstrapping of PIP in Python Installations Bootstrapping pip By Default 文档更改 PEP 446: Newly Created File Descriptors Are Non-Inheritable Improvements to Codec Handling PEP 451: A ModuleSpec Type for the Import System 其他语言特性修改 新模組 asyncio ensurepip enum pathlib selectors statistics tracemalloc 改进的模块 abc aifc argparse audioop base64 collections colorsys contextlib dbm dis doctest email filecmp functools gc glob hashlib hmac html http idlelib 与 IDLE importlib inspect ipaddress logging marshal mmap multiprocessing operator os pdb pickle plistlib poplib pprint pty pydoc re resource select shelve shutil smtpd smtplib socket sqlite3 ssl stat struct subprocess sunau sys tarfile textwrap threading traceback types urllib unittest venv wave weakref xml.etree zipfile CPython Implementation Changes PEP 445: Customization of CPython Memory Allocators PEP 442: Safe Object Finalization PEP 456: Secure and Interchangeable Hash Algorithm PEP 436: Argument Clinic Other Build and C API Changes 其他改进 Significant Optimizations 弃用 Deprecations in the Python API Deprecated Features 移除 不再支持的操作系统 API 与特性的移除 Code Cleanups 移植到 Python 3.4 'python' 命令行为的变化 Python API 的变化 C API 中的改動 3.4.3 的变化 PEP 476: Enabling certificate verification by default for stdlib http clients Python 3.3 有什麼新功能 摘要 -- 发布重点 PEP 405: 虚拟环境 PEP 420: 隐式命名空间包 PEP 3118: 新的内存视图实现和缓冲协议文档 相关特性 API 的变化 PEP 393: 灵活的字符串表示 功能 Performance and resource usage PEP 397: 适用于Windows的Python启动器 PEP 3151: 重写 OS 和 IO 异常的层次结构 PEP 380: 委托给子生成器的语法 PEP 409: 清除异常上下文 PEP 414: 显式的Unicode文本 PEP 3155: 类和函数的限定名称 PEP 412: Key-Sharing Dictionary PEP 362: 函数签名对象 PEP 421: 添加 sys.implementation SimpleNamespace Using importlib as the Implementation of Import New APIs 可见的改变 其他语言特性修改 A Finer-Grained Import Lock Builtin functions and types 新模組 faulthandler ipaddress lzma 改进的模块 abc array base64 binascii bz2 codecs collections contextlib crypt curses datetime decimal 相关特性 API 的变化 email Policy Framework Provisional Policy with New Header API Other API Changes ftplib functools gc hmac http html imaplib inspect io itertools logging math mmap multiprocessing nntplib os pdb pickle pydoc re sched select shlex shutil signal smtpd smtplib socket socketserver sqlite3 ssl stat struct subprocess sys tarfile tempfile textwrap threading time types unittest urllib webbrowser xml.etree.ElementTree zlib 性能优化 构建和 C API 的改变 弃用 不支持的操作系统 已弃用的 Python 模块、函数和方法 已弃用的 C API 函数和类型 弃用的功能 移植到 Python 3.3 Porting Python code Porting C code Building C extensions Command Line Switch Changes Python 3.2 有什麼新功能 PEP 384: 定义稳定的ABI PEP 389: Argparse 命令行解析模块 PEP 391: 基于字典的日志配置 PEP 3148: concurrent.futures 模块 PEP 3147: PYC 仓库目录 PEP 3149: ABI Version Tagged .so Files PEP 3333: Python Web服务器网关接口v1.0.1 其他语言特性修改 新增,改进和弃用的模块 email elementtree functools itertools collections threading datetime 和 time math abc io reprlib logging csv contextlib decimal and fractions ftp popen select gzip 和 zipfile tarfile hashlib ast os shutil sqlite3 html socket ssl nntp certificates imaplib http.client unittest random poplib asyncore tempfile inspect pydoc dis dbm ctypes site sysconfig pdb configparser urllib.parse mailbox turtledemo 多线程 性能优化 Unicode 编解码器 文件 IDLE 代码库 构建和 C API 的改变 移植到 Python 3.2 Python 3.1 有什麼新功能 PEP 372: 有序字典 PEP 378: 千位分隔符的格式说明符 其他语言特性修改 新增,改进和弃用的模块 性能优化 IDLE 构建和 C API 的改变 移植到 Python 3.1 Python 3.0 有什麼新功能 常见的绊脚石 Print 是函数 用视图和迭代器取代列表 Ordering Comparisons 整数 Text Vs. Data Instead Of Unicode Vs. 8-bit 语法变化概述 新语法 语法变化 移除的语法 Changes Already Present In Python 2.6 库的修改 PEP 3101: A New Approach To String Formatting Changes To Exceptions Miscellaneous Other Changes Operators And Special Methods Builtins 构建和 C API 的改变 性能 移植到 Python 3.0 Python 2.7 有什麼新功能 Python 2.x的未来 对于弃用警告处理方式的改变 Python 3.1 特性 PEP 372: Adding an Ordered Dictionary to collections PEP 378: 千位分隔符的格式说明符 PEP 389: The argparse Module for Parsing Command Lines PEP 391: Dictionary-Based Configuration For Logging PEP 3106: 字典视图 PEP 3137: memoryview 对象 其他语言特性修改 Interpreter Changes 性能优化 新增和改进的模块 新模块:importlib 新模块:sysconfig ttk: Themed Widgets for Tk 更新的模块:unittest 更新的模块:ElementTree 1.3 构建和 C API 的改变 Capsule 对象 特定于 Windows 的更改: 特定于 Mac OS X 的更改: 特定于 FreeBSD 的更改: 其他的改变和修正 移植到 Python 2.7 New Features Added to Python 2.7 Maintenance Releases Two new environment variables for debug mode PEP 434: IDLE Enhancement Exception for All Branches PEP 466: Network Security Enhancements for Python 2.7 PEP 477: Backport ensurepip (PEP 453) to Python 2.7 Bootstrapping pip By Default 文档更改 PEP 476: Enabling certificate verification by default for stdlib http clients PEP 493:适用于Python 2.7 的 HTTPS 验证迁移工具 New make regen-all build target Removal of make touch build target 致謝 Python 2.6 有什麼新功能 Python 3.0 开发过程的变化 新问题追踪:简述 新的文档格式:使用 Sphinx 的 reStructuredText PEP 343: "with" 语句 编写上下文管理器 contextlib 模块 PEP 366: 从主模块显式相对导入 PEP 370: 分用户的 site-packages 目录 PEP 371: 多任务处理包 PEP 3101: 高级字符串格式 PEP 3105: print 改为函数 PEP 3110: 异常处理的变更 PEP 3112: 字节字面值 PEP 3116: 新 I/O 库 PEP 3118:修訂緩衝協定 PEP 3119: 抽象基类 PEP 3127: 整型文字支持和语法 PEP 3129: 类装饰器 PEP 3141: A Type Hierarchy for Numbers fractions 模块 其他语言特性修改 性能优化 Interpreter Changes 新增和改进的模块 ast 模块 future_builtins 模块 The json module: JavaScript Object Notation plistlib 模块:属性列表解析器 ctypes Enhancements Improved SSL Support Deprecations and Removals 构建和 C API 的改变 特定于 Windows 的更改: 特定于 Mac OS X 的更改: 特定于 IRIX 的更改: 移植到Python 2.6 致謝 Python 2.5 有什麼新功能 PEP 308: 条件表达式 PEP 309: 部分功能应用 PEP 314: Python软件包的元数据 v1.1 PEP 328: 绝对导入和相对导入 PEP 338: 将模块作为脚本执行 PEP 341: 统一 try/except/finally PEP 342: 生成器的新特性 PEP 343: "with" 语句 编写上下文管理器 contextlib 模块 PEP 352: 异常作为新型的类 PEP 353: 使用ssize_t作为索引类型 PEP 357: '__index__' 方法 其他语言特性修改 交互解释器变更 性能优化 新增,改进和删除的模块 ctypes 套件 ElementTree 套件 hashlib 套件 sqlite3 套件 wsgiref 套件 构建和 C API 的改变 Port-Specific Changes 移植到Python 2.5 致謝 Python 2.4 有什麼新功能 PEP 218: 内置集合对象 PEP 237: 统一长整数和整数 PEP 289: 生成器表达式 PEP 292: 更简单的字符串替换 PEP 318: 函数和方法的装饰器 PEP 322: 反向迭代 PEP 324: 新的子进程模块 PEP 327: 十进制数据类型 为什么需要十进制? Decimal 型別 Context 型別 PEP 328: 多行导入 PEP 331: Locale-Independent Float/String Conversions 其他语言特性修改 性能优化 新增,改进和弃用的模块 cookielib doctest 构建和 C API 的改变 Port-Specific Changes 移植到 Python 2.4 致謝 Python 2.3 有什麼新功能 PEP 218: 标准集合数据类型 PEP 255: 简单的生成器 PEP 263: 源代码的字符编码格式 PEP 273: 从ZIP压缩包导入模块 PEP 277: 针对 Windows NT 的 Unicode 文件名支持 PEP 278: 通用换行支持 PEP 279: enumerate() PEP 282: logging 包 PEP 285: 布尔类型 PEP 293: Codec Error Handling Callbacks PEP 301: Distutils的软件包索引和元数据 PEP 302: 新导入钩子 PEP 305: 逗号分隔文件 PEP 307: Pickle Enhancements 扩展切片 其他语言特性修改 String Changes 性能优化 新增,改进和弃用的模块 Date/Time 类型 optparse 模块 Pymalloc: A Specialized Object Allocator 构建和 C API 的改变 Port-Specific Changes 其他的改变和修正 移植到 Python 2.3 致謝 Python 2.2 有什麼新功能 簡介 PEP 252 和 253:类型和类的修改 旧式类和新式类 描述器 多重继承:钻石规则 属性访问 相关链接 PEP 234: 迭代器 PEP 255: 简单的生成器 PEP 237: 统一长整数和整数 PEP 238: Changing the Division Operator Unicode Changes PEP 227: 嵌套的作用域 新增和改进的模块 解释器的改变和修正 其他的改变和修正 致謝 Python 2.1 有什麼新功能 簡介 PEP 227: 嵌套的作用域 PEP 236: __future__ 指令 PEP 207: 富比较 PEP 230: 警告框架 PEP 229: 新的构建系统 PEP 205: 弱引用 PEP 232: 函数属性 PEP 235: 在大小写不敏感的平台上导入模块 PEP 217: Interactive Display Hook PEP 208: New Coercion Model PEP 241: Metadata in Python Packages 新增和改进的模块 其他的改变和修正 致謝 Python 2.0 有什麼新功能 簡介 What About Python 1.6? 新开发流程 Unicode 串列綜合運算(List Comprehension) Augmented Assignment 字符串的方法 Garbage Collection of Cycles 其他核心变化 细微的语言特性修改 对于内置函数的修改 移植 Python 2.0 扩展/嵌入更改 Distutils:使模块易于安装 XML 模块 SAX2 Support DOM Support Relationship to PyXML 模組變更 新增模块 IDLE 改进 删除和弃用的模块 致謝 Changelog(更動日誌) Python next Security Core and Builtins Library Documentation Tests Build Windows macOS C API Python 3.12.0 alpha 2 Security Core and Builtins Library Documentation Tests Build Windows macOS C API Python 3.12.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.11.0 beta 1 Security Core and Builtins Library Documentation Tests Build Windows macOS Tools/Demos C API Python 3.11.0 alpha 7 Core and Builtins Library Documentation Tests Build Windows macOS Tools/Demos C API Python 3.11.0 alpha 6 Core and Builtins Library Documentation Tests Build Windows IDLE C API Python 3.11.0 alpha 5 Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.11.0 alpha 4 Core and Builtins Library Documentation Tests Build Windows macOS C API Python 3.11.0 alpha 3 Core and Builtins Library Documentation Tests Build Windows macOS C API Python 3.11.0 alpha 2 Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.11.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.10.0 beta 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.10.0 alpha 7 Security Core and Builtins Library Documentation Tests Build Windows IDLE C API Python 3.10.0 alpha 6 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.10.0 alpha 5 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.10.0 alpha 4 Core and Builtins Library Documentation Tests Build macOS Tools/Demos C API Python 3.10.0 alpha 3 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.10.0 alpha 2 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.10.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.9.0 beta 1 Security Core and Builtins Library Documentation Tests Build Windows macOS Tools/Demos C API Python 3.9.0 alpha 6 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.9.0 alpha 5 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.9.0 alpha 4 Security Core and Builtins Library Documentation Tests Build Windows IDLE C API Python 3.9.0 alpha 3 Core and Builtins Library Documentation Build IDLE C API Python 3.9.0 alpha 2 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE C API Python 3.9.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.8.0 beta 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.8.0 alpha 4 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.8.0 alpha 3 Security Core and Builtins Library Documentation Tests Build Windows IDLE Tools/Demos C API Python 3.8.0 alpha 2 Core and Builtins Library Documentation Tests Windows IDLE Python 3.8.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.7.0 final Library C API Python 3.7.0 release candidate 1 Core and Builtins Library Documentation Build Windows IDLE Python 3.7.0 beta 5 Core and Builtins Library Documentation Tests Build macOS IDLE Python 3.7.0 beta 4 Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos Python 3.7.0 beta 3 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.7.0 beta 2 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos Python 3.7.0 beta 1 Core and Builtins Library Documentation Tests Build Windows macOS C API Python 3.7.0 alpha 4 Core and Builtins Library Documentation Tests Windows Tools/Demos C API Python 3.7.0 alpha 3 Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.7.0 alpha 2 Core and Builtins Library Documentation Build IDLE C API Python 3.7.0 alpha 1 Security Core and Builtins Library Documentation Tests Build Windows IDLE Tools/Demos C API Python 3.6.6 final Python 3.6.6 release candidate 1 Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.6.5 final Tests Build Python 3.6.5 release candidate 1 Security Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.6.4 final Python 3.6.4 release candidate 1 Core and Builtins Library Documentation Tests Build Windows macOS IDLE Tools/Demos C API Python 3.6.3 final Library Build Python 3.6.3 release candidate 1 Security Core and Builtins Library Documentation Tests Build Windows IDLE Tools/Demos Python 3.6.2 final Python 3.6.2 release candidate 2 Security Python 3.6.2 release candidate 1 Security Core and Builtins Library IDLE C API Build Documentation Tools/Demos Tests Windows Python 3.6.1 final Core and Builtins Build Python 3.6.1 release candidate 1 Core and Builtins Library IDLE Windows C API Documentation Tests Build Python 3.6.0 final Python 3.6.0 release candidate 2 Core and Builtins Tools/Demos Windows Build Python 3.6.0 release candidate 1 Core and Builtins Library C API Documentation Tools/Demos Python 3.6.0 beta 4 Core and Builtins Library Documentation Tests Build Python 3.6.0 beta 3 Core and Builtins Library Windows Build Tests Python 3.6.0 beta 2 Core and Builtins Library Windows C API Build Tests Python 3.6.0 beta 1 Core and Builtins Library IDLE C API Tests Build Tools/Demos Windows Python 3.6.0 alpha 4 Core and Builtins Library IDLE Tests Windows Build Python 3.6.0 alpha 3 Security Core and Builtins Library IDLE C API Build Tools/Demos Documentation Tests Python 3.6.0 alpha 2 Security Core and Builtins Library IDLE Documentation Tests Windows Build C API Tools/Demos Python 3.6.0 alpha 1 Security Core and Builtins Library IDLE Documentation Tests Build Windows Tools/Demos C API Python 3.5.5 final Python 3.5.5 release candidate 1 Security Core and Builtins Library Python 3.5.4 final Library Python 3.5.4 release candidate 1 Security Core and Builtins Library Documentation Tests Build Windows C API Python 3.5.3 final Python 3.5.3 release candidate 1 Security Core and Builtins Library IDLE C API Documentation Tests Tools/Demos Windows Build Python 3.5.2 final Core and Builtins Tests IDLE Python 3.5.2 release candidate 1 Security Core and Builtins Library IDLE Documentation Tests Build Windows Tools/Demos Python 3.5.1 final Core and Builtins Windows Python 3.5.1 release candidate 1 Core and Builtins Library IDLE Documentation Tests Build Windows Tools/Demos Python 3.5.0 final Build Python 3.5.0 release candidate 4 Library Build Python 3.5.0 release candidate 3 Core and Builtins Library Python 3.5.0 release candidate 2 Core and Builtins Library Python 3.5.0 release candidate 1 Core and Builtins Library IDLE Documentation Tests Python 3.5.0 beta 4 Core and Builtins Library Build Python 3.5.0 beta 3 Core and Builtins Library Tests Documentation Build Python 3.5.0 beta 2 Core and Builtins Library Python 3.5.0 beta 1 Core and Builtins Library IDLE Tests Documentation Tools/Demos Python 3.5.0 alpha 4 Core and Builtins Library Build Tests Tools/Demos C API Python 3.5.0 alpha 3 Core and Builtins Library Build Tests Tools/Demos Python 3.5.0 alpha 2 Core and Builtins Library Build C API Windows Python 3.5.0 alpha 1 Core and Builtins Library IDLE Build C API Documentation Tests Tools/Demos Windows Python 教學 1. 淺嘗滋味 2. 使用 Python 直譯器 2.1. 啟動直譯器 2.1.1. 傳遞引數 2.1.2. 互動模式 2.2. 直譯器與它的環境 2.2.1. 原始碼的字元編碼 (encoding) 3. 一個非正式的 Python 簡介 3.1. 把 Python 當作計算機使用 3.1.1. 數字 (Number) 3.1.2. 字串 (String) 3.1.3. List(串列) 3.2. 初探程式設計的前幾步 4. 深入了解流程控制 4.1. if 陳述式 4.2. for 陳述式 4.3. range() 函式 4.4. 迴圈內的 break 和 continue 陳述式及 else 子句 4.5. pass 陳述式 4.6. match 陳述式 4.7. 定義函式 (function) 4.8. 深入了解函式定義 4.8.1. 預設引數值 4.8.2. 關鍵字引數 4.8.3. 特殊參數 4.8.3.1. 位置或關鍵字引數 (Positional-or-Keyword Arguments) 4.8.3.2. 僅限位置參數 (Positional-Only Parameters) 4.8.3.3. 僅限關鍵字引數 (Keyword-Only Arguments) 4.8.3.4. 函式範例 4.8.3.5. 回顧 4.8.4. 任意引數列表 (Arbitrary Argument Lists) 4.8.5. 拆解引數列表(Unpacking Argument Lists) 4.8.6. Lambda 運算式 4.8.7. 說明文件字串 (Documentation Strings) 4.8.8. 函式註釋 (Function Annotations) 4.9. 間奏曲:程式碼風格 (Coding Style) 5. 資料結構 5.1. 進一步了解 List(串列) 5.1.1. 將 List 作為 Stack(堆疊)使用 5.1.2. 將 List 作為 Queue(佇列)使用 5.1.3. List Comprehensions(串列綜合運算) 5.1.4. 巢狀的 List Comprehensions 5.2. del 陳述式 5.3. Tuples 和序列 (Sequences) 5.4. 集合 (Sets) 5.5. 字典(Dictionary) 5.6. 迴圈技巧 5.7. 深入了解條件 (Condition) 5.8. 序列和其他資料類型之比較 6. 模組 (Module) 6.1. 深入了解模組 6.1.1. 把模組當作腳本執行 6.1.2. 模組的搜尋路徑 6.1.3. 「編譯」Python 檔案 6.2. 標準模組 6.3. dir() 函式 6.4. 套件 (Package) 6.4.1. 從套件中 import * 6.4.2. 套件內引用 6.4.3. 多目錄中的套件 7. 輸入和輸出 7.1. 更華麗的輸出格式 7.1.1. 格式化的字串文本 (Formatted String Literals) 7.1.2. 字串的 format() method 7.1.3. 手動格式化字串 7.1.4. 格式化字串的舊方法 7.2. 讀寫檔案 7.2.1. 檔案物件的 method 7.2.2. 使用 json 儲存結構化資料 8. 錯誤和例外 8.1. 語法錯誤 (Syntax Error) 8.2. 例外 (Exception) 8.3. 處理例外 8.4. 引發例外 8.5. 例外鏈接 (Exception Chaining) 8.6. 使用者自定的例外 8.7. 定義清理動作 8.8. 預定義的清理動作 8.9. 引發及處理多個無關的例外 8.10. 用註解使例外更詳細 9. Class(類別) 9.1. 關於名稱與物件的一段話 9.2. Python 作用域 (Scope) 及命名空間 (Namespace) 9.2.1. 作用域和命名空間的範例 9.3. 初見 class 9.3.1. Class definition(類別定義)語法 9.3.2. Class 物件 9.3.3. 實例物件 9.3.4. Method 物件 9.3.5. Class 及實例變數 9.4. 隨意的備註 9.5. 繼承 (Inheritance) 9.5.1. 多重繼承 9.6. 私有變數 9.7. 補充說明 9.8. 疊代器 (Iterator) 9.9. 產生器 (Generator) 9.10. 產生器運算式 10. Python 標準函式庫概覽 10.1. 作業系統介面 10.2. 檔案之萬用字元 (File Wildcards) 10.3. 命令列引數 10.4. 錯誤輸出重新導向與程式終止 10.5. 字串樣式比對 10.6. 數學相關 10.7. 網路存取 10.8. 日期與時間 10.9. 資料壓縮 10.10. 效能量測 10.11. 品質控管 10.12. 標準模組庫 11. Python 標準函式庫概覽——第二部份 11.1. 輸出格式化 (Output Formatting) 11.2. 模板化 (Templating) 11.3. 二進制資料記錄編排 (Binary Data Record Layouts) 11.4. 多執行緒 (Multi-threading) 11.5. 日誌記錄 (Logging) 11.6. 弱引用 (Weak References) 11.7. 使用於 List 的工具 11.8. 十進制 (Decimal) 浮點數運算 12. 虛擬環境與套件 12.1. 簡介 12.2. 建立虛擬環境 12.3. 用 pip 管理套件 13. 現在可以來學習些什麼? 14. 互動式輸入編輯和歷史記錄替換 14.1. Tab 鍵自動完成 (Tab Completion) 和歷史記錄編輯 (History Editing) 14.2. 互動式直譯器的替代方案 15. 浮點數運算:問題與限制 15.1. 表示法誤差 (Representation Error) 16. 附錄 16.1. 互動模式 16.1.1. 錯誤處理 16.1.2. 可執行的 Python 腳本 16.1.3. 互動式啟動檔案 16.1.4. 客製化模組 Python 的設置與使用 1. 命令列與環境 1.1. 命令列 1.1.1. 接口选项 1.1.2. 通用选项 1.1.3. 其他选项 1.1.4. 你不該使用的選項 1.2. 環境變數 1.2.1. 除錯模式變數 2. 在 Unix 平臺上使用 Python 2.1. 獲得並安裝 Python 的最新版本 2.1.1. 在 Linux 上 2.1.2. 在 FreeBSD 和 OpenBSD 上 2.1.3. 在 OpenSolaris 系統上 2.2. 建置 Python 2.3. 與 Python 相關的路徑和檔案 2.4. 雜項 2.5. 客製化 OpenSSL 3. 配置 Python 3.1. 配置参数 3.1.1. 常用参数 3.1.2. WebAssembly Options 3.1.3. 安装时的选项 3.1.4. 性能选项 3.1.5. Python 调试级编译 3.1.6. 调试选项 3.1.7. 链接器选项 3.1.8. 库选项 3.1.9. 安全性选项 3.1.10. macOS 选项 3.1.11. Cross Compiling Options 3.2. Python 构建系统 3.2.1. 构建系统的主要文件 3.2.2. 主要构建步骤 3.2.3. 主要 Makefile 目标 3.2.4. C 扩展 3.3. 编译器和链接器的标志 3.3.1. 预处理器的标志 3.3.2. 编译器标志 3.3.3. 链接器标志位 4. 在 Windows 上使用 Python 4.1. 完整安装程序 4.1.1. 安裝步驟 4.1.2. 删除 MAX_PATH 限制 4.1.3. 安裝排除使用者介面 4.1.4. 當安裝時不下載 4.1.5. 修改安装 4.2. Microsoft Store包 4.2.1. Known issues 4.2.1.1. Redirection of local data, registry, and temporary paths 4.3. nuget.org 套件 4.4. 可嵌入的包 4.4.1. Python应用程序 4.4.2. 嵌入 Python 4.5. 替代捆绑包 4.6. 設定 Python 4.6.1. 附录:设置环境变量 4.6.2. 查找Python可执行文件 4.7. UTF-8 模式 4.8. 适用于Windows的Python启动器 4.8.1. 開始 4.8.1.1. 从命令行 4.8.1.2. 虛擬環境(Virtual environment) 4.8.1.3. 从脚本 4.8.1.4. 從檔案關聯 4.8.2. Shebang Lines 4.8.3. shebang lines 的参数 4.8.4. 自定义 4.8.4.1. 通过INI文件自定义 4.8.4.2. 自定义默认的Python版本 4.8.5. 诊断 4.8.6. Dry Run 4.8.7. 安裝隨選 4.8.8. Return codes 4.9. 查找模块 4.10. 附加模块 4.10.1. PyWin32 4.10.2. cx_Freeze 4.11. 編譯 Python 在 Windows 4.12. 其他平台 5. 在 Mac 系統使用 Python 5.1. 取得和安裝 MacPython 5.1.1. 如何執行 Python 腳本 5.1.2. 透過 GUI 執行腳本 5.1.3. 設定 5.2. 整合化開發工具 (IDE) 5.3. 安裝額外的 Python 套件 5.4. 於 Mac 上開發 GUI 程式 5.5. 於 Mac 上發行 Python 應用程式 5.6. 其他資源 6. 編輯器與 IDE Python 語言參考手冊 1. 簡介 1.1. 其他实现 1.2. 标注 2. 词法分析 2.1. 行结构 2.1.1. 逻辑行 2.1.2. 物理行 2.1.3. 注释 2.1.4. 编码声明 2.1.5. 显式拼接行 2.1.6. 隐式拼接行 2.1.7. 空白行 2.1.8. 缩进 2.1.9. 形符间的空白字符 2.2. 其他形符 2.3. 标识符和关键字 2.3.1. 关键字 2.3.2. 软关键字 2.3.3. 保留的标识符类 2.4. 字面值 2.4.1. 字符串与字节串字面值 2.4.2. 字符串字面值合并 2.4.3. 格式字符串字面值 2.4.4. 数值字面值 2.4.5. 整数字面值 2.4.6. 浮点数字面值 2.4.7. 虚数字面值 2.5. 运算符 2.6. 分隔符 3. 数据模型 3.1. 对象、值与类型 3.2. 标准类型层级结构 3.3. 特殊方法名称 3.3.1. 基本定制 3.3.2. 自定义属性访问 3.3.2.1. 自定义模块属性访问 3.3.2.2. 实现描述器 3.3.2.3. 调用描述器 3.3.2.4. __slots__ 3.3.2.4.1. 使用 __slots__ 的注意事项 3.3.3. 自定义类创建 3.3.3.1. 元类 3.3.3.2. 解析 MRO 条目 3.3.3.3. 确定适当的元类 3.3.3.4. 准备类命名空间 3.3.3.5. 执行类主体 3.3.3.6. 创建类对象 3.3.3.7. 元类的作用 3.3.4. 自定义实例及子类检查 3.3.5. 模拟泛型类型 3.3.5.1. __class_getitem__ 的目的 3.3.5.2. __class_getitem__ 与 __getitem__ 3.3.6. 模拟可调用对象 3.3.7. 模拟容器类型 3.3.8. 模拟数字类型 3.3.9. with 语句上下文管理器 3.3.10. 定制类模式匹配中的位置参数 3.3.11. 特殊方法查找 3.4. 協程 3.4.1. 可等待对象 3.4.2. 协程对象 3.4.3. 异步迭代器 3.4.4. 异步上下文管理器 4. 执行模型 4.1. 程序的结构 4.2. 命名与绑定 4.2.1. 名称的绑定 4.2.2. 名称的解析 4.2.3. 内置命名空间和受限的执行 4.2.4. 与动态特性的交互 4.3. 例外 5. 导入系统 5.1. importlib 5.2. 包 5.2.1. 常规包 5.2.2. 命名空间包 5.3. 搜索 5.3.1. 模块缓存 5.3.2. 查找器和加载器 5.3.3. 导入钩子 5.3.4. 元路径 5.4. 加载 5.4.1. 加载器 5.4.2. 子模块 5.4.3. 模块规格说明 5.4.4. 导入相关的模块属性 5.4.5. module.__path__ 5.4.6. 模块的 repr 5.4.7. 已缓存字节码的失效 5.5. 基于路径的查找器 5.5.1. 路径条目查找器 5.5.2. 路径条目查找器协议 5.6. 替换标准导入系统 5.7. 包相对导入 5.8. 有关 __main__ 的特殊事项 5.8.1. __main__.__spec__ 5.9. 参考文献 6. 表达式 6.1. 算术转换 6.2. 原子 6.2.1. 标识符(名称) 6.2.2. 字面值 6.2.3. 带圆括号的形式 6.2.4. 列表、集合与字典的显示 6.2.5. 列表显示 6.2.6. 集合显示 6.2.7. 字典显示 6.2.8. 生成器表达式 6.2.9. yield 表达式 6.2.9.1. 生成器-迭代器的方法 6.2.9.2. 模組 6.2.9.3. 异步生成器函数 6.2.9.4. 异步生成器-迭代器方法 6.3. 原型 6.3.1. 属性引用 6.3.2. 抽取 6.3.3. 切片 6.3.4. 调用 6.4. await 表达式 6.5. 幂运算符 6.6. 一元算术和位运算 6.7. 二元算术运算符 6.8. 移位运算 6.9. 二元位运算 6.10. 比较运算 6.10.1. 值比较 6.10.2. 成员检测运算 6.10.3. 标识号比较 6.11. 布尔运算 6.12. 赋值表达式 6.13. 条件表达式 6.14. lambda 表达式 6.15. 表达式列表 6.16. 求值顺序 6.17. 运算符优先级 7. 简单语句 7.1. 表达式语句 7.2. 赋值语句 7.2.1. 增强赋值语句 7.2.2. 带标注的赋值语句 7.3. assert 语句 7.4. pass 语句 7.5. del 语句 7.6. return 语句 7.7. yield 语句 7.8. raise 语句 7.9. break 语句 7.10. continue 语句 7.11. import 语句 7.11.1. future 语句 7.12. global 语句 7.13. nonlocal 语句 8. 复合语句 8.1. if 语句 8.2. while 语句 8.3. for 语句 8.4. try 语句 8.4.1. except clause 8.4.2. except* clause 8.4.3. else clause 8.4.4. finally clause 8.5. with 语句 8.6. match 语句 8.6.1. 概述 8.6.2. 约束项 8.6.3. 必定匹配的 case 块 8.6.4. 模式 8.6.4.1. 或模式 8.6.4.2. AS 模式 8.6.4.3. 字面值模式 8.6.4.4. 捕获模式 8.6.4.5. 通配符模式 8.6.4.6. 值模式 8.6.4.7. 组模式 8.6.4.8. 序列模式 8.6.4.9. 映射模式 8.6.4.10. 类模式 8.7. 函式定義 8.8. 类定义 8.9. 協程 8.9.1. 协程函数定义 8.9.2. async for 语句 8.9.3. async with 语句 9. 顶级组件 9.1. 完整的 Python 程序 9.2. 文件输入 9.3. 交互式输入 9.4. 表达式输入 10. 完整的語法規格書 Python 標準函式庫 (Standard Library) 簡介 可用性之註釋 WebAssembly platforms 內建函式 內建常數 由 site module(模組)所添增的常數 內建型別 真值檢測 布尔运算 --- and, or, not 比较运算 数字类型 --- int, float, complex 整数类型的按位运算 整数类型的附加方法 浮点类型的附加方法 数字类型的哈希运算 迭代器类型 生成器类型 序列类型 --- list, tuple, range 通用序列操作 不可变序列类型 可变序列类型 List(串列) 元组 range 对象 文本序列类型 --- str 字符串的方法 printf 风格的字符串格式化 二进制序列类型 --- bytes, bytearray, memoryview bytes 对象 bytearray 对象 bytes 和 bytearray 操作 printf 风格的字节串格式化 内存视图 集合类型 --- set, frozenset 映射类型 --- dict 字典視圖物件 上下文管理器类型 类型注解的类型 --- Generic Alias 、 Union GenericAlias 类型 标准泛型类 GenericAlias 对象的特殊属性 union 类型 其他内置类型 模組 类与类实例 函式 方法 代码对象 类型对象 空对象 省略符对象 未实现对象 布尔值 内部对象 特殊属性 Integer string conversion length limitation Affected APIs Configuring the limit Recommended configuration 內建的例外 异常上下文 繼承自內建的例外 基类 具体异常 OS 异常 警告 Exception groups 异常层次结构 文本處理 (Text Processing) 服務 string --- 常见的字符串操作 字符串常量 自定义字符串格式化 格式字符串语法 格式规格迷你语言 格式示例 模板字符串 辅助函数 re --- 正则表达式操作 正则表达式语法 模組內容 标志 函数 异常 正则表达式对象 (正则对象) 匹配对象 正则表达式例子 检查对子 模拟 scanf() search() vs. match() 制作一个电话本 文字整理 查找所有副词 查找所有的副词及其位置 原始字符串标记 写一个词法分析器 difflib --- 计算差异的辅助工具 SequenceMatcher 物件 SequenceMatcher 範例 Differ 对象 Differ 示例 difflib 的命令行接口 ndiff example textwrap --- 文本自动换行与填充 unicodedata --- Unicode 数据库 stringprep --- 因特网字符串预备 readline --- GNU readline 接口 初始化文件 行缓冲区 历史文件 历史列表 启动钩子 Completion 範例 rlcompleter --- GNU readline 的补全函数 Completer 对象 二进制数据服务 struct --- 将字节串解读为打包的二进制数据 函式與例外 格式字符串 字节顺序,大小和对齐方式 格式字符 範例 Applications Native Formats Standard Formats 类 codecs --- 编解码器注册和相关基类 编解码器基类 错误处理方案 无状态的编码和解码 增量式的编码和解码 IncrementalEncoder 物件 IncrementalDecoder 物件 流式的编码和解码 StreamWriter 物件 StreamReader 物件 StreamReaderWriter 物件 StreamRecoder 物件 编码格式与 Unicode 标准编码 Python 专属的编码格式 文字编码 二进制转换 文字转换 encodings.idna --- 应用程序中的国际化域名 encodings.mbcs --- Windows ANSI代码页 encodings.utf_8_sig --- 带BOM签名的UTF-8编解码器 資料型別 datetime --- 日期與時間的基本型別 感知型对象和简单型对象 常數 有效的类型 通用的特征属性 确定一个对象是感知型还是简单型 timedelta 物件 用法範例:timedelta date 物件 用法範例:date datetime 物件 用法示例: datetime time 物件 用法示例: time tzinfo 物件 timezone 物件 strftime() 與 strptime() 的行為 strftime() 和 strptime() Format Codes 技术细节 zoneinfo --- IANA 时区支持 使用 ZoneInfo 数据源 配置数据源 编译时配置 环境配置 运行时配置 ZoneInfo 类 字符串表示 封存序列化 函式 全局变量 异常与警告 calendar --- 日历相关函数 collections --- 容器資料型態 ChainMap 物件 ChainMap 範例和用法 Counter 物件 deque 物件 deque 用法 defaultdict 物件 defaultdict 範例 namedtuple() 擁有具名欄位之 tuple 的工廠函式 OrderedDict 物件 OrderedDict 範例與用法 UserDict 物件 UserList 物件 UserString 物件 collections.abc --- 容器的抽象基类 容器抽象基类 多项集抽象基类 -- 详细描述 例子和配方 heapq --- 堆積佇列 (heap queue) 演算法 基礎範例 優先佇列 (Priority Queue) 實作細節 原理 bisect --- 陣列二分演算法 (Array bisection algorithm) 效能考量 搜尋一個已排序的 list 範例 array --- 高效率的數值型陣列 weakref --- 弱引用 弱引用对象 範例 终结器对象 比较终结器与 __del__() 方法 types --- 动态类型创建和内置类型名称 动态类型创建 标准解释器类型 附加工具类和函数 协程工具函数 copy --- 淺層 (shallow) 和深層 (deep) 複製操作 pprint --- 数据美化输出 PrettyPrinter 物件 範例 reprlib --- 另一种 repr() 实现 Repr 物件 子类化 Repr 对象 enum --- 对枚举的支持 模組內容 Data Types 支持的 __dunder__ 名称 支持的 _sunder_ 名称 Utilities and Decorators Notes graphlib --- 操作类似图的结构的功能 例外 數值與數學模組 numbers --- 数字的抽象基类 数字的层次 类型接口注释。 加入更多数字的ABC 实现算术运算 math --- 數學函式 数论与表示函数 幂函数与对数函数 三角函数 角度转换 双曲函数 特殊函数 常數 cmath --- 关于复数的数学函数 到极坐标和从极坐标的转换 幂函数与对数函数 三角函数 双曲函数 分类函数 常數 decimal --- 十进制定点和浮点运算 快速入门教程 Decimal 对象 逻辑操作数 上下文对象 常數 舍入模式 信号 浮点数说明 通过提升精度来解决舍入错误 特殊的值 使用线程 例程 Decimal 常见问题 fractions --- 分数 random --- 生成偽隨機數 簿記函式 (bookkeeping functions) 回傳位元組的函式 回傳整數的函式 回傳序列的函式 Discrete distributions 實數分布 替代產生器 關於 Reproducibility(復現性)的注意事項 範例 使用方案 statistics --- 數學統計函式 平均值與中央位置量數 離度 (spread) 的測量 对两个输入之间关系的统计 函式細節 例外 NormalDist 物件 NormalDist 示例和用法 函式編程模組 itertools --- 为高效循环而创建迭代器的函数 Itertool函数 itertools 配方 functools --- 高阶函数和可调用对象上的操作 partial 物件 operator --- 標準運算子替代函式 運算子與函式間的對映 原地 (in-place) 運算子 檔案與目錄存取 pathlib --- 面向对象的文件系统路径 基础使用 纯路径 通用性质 运算符 访问个别部分 方法和特征属性 具体路径 方法 对应的 os 模块的工具 os.path --- 常用路径操作 fileinput --- 迭代来自多个输入流的行 stat --- 解析 stat() 结果 filecmp --- 文件及目录的比较 dircmp 类 tempfile --- 生成臨時檔案和目錄 範例 已棄用的函式和變數 glob --- Unix 风格路径名模式扩展 fnmatch --- Unix 文件名模式匹配 linecache --- 随机读写文本行 shutil --- 高阶文件操作 目录和文件操作 依赖于具体平台的高效拷贝操作 copytree 示例 rmtree 範例 归档操作 归档程序示例 使用 base_dir 的归档程序示例 查询输出终端的尺寸 数据持久化 pickle --- Python 对象序列化 与其他 Python 模块间的关系 与 marshal 间的关系 与 json 模块的比较 数据流格式 模組介面 可以被封存/解封的对象 封存类实例 持久化外部对象 Dispatch 表 处理有状态的对象 类型,函数和其他对象的自定义归约 外部缓冲区 提供方 API 使用方 API 範例 限制全局变量 性能 範例 copyreg --- 注册配合 pickle 模块使用的函数 範例 shelve --- Python 对象持久化 限制 範例 marshal --- 内部 Python 物件序列化 dbm --- Unix "数据库" 接口 dbm.gnu --- GNU 对 dbm 的重解析 dbm.ndbm --- 基于 ndbm 的接口 dbm.dumb --- 便携式 DBM 实现 sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块 教程 参考 Module functions Module constants Connection objects Cursor objects Row objects Blob objects PrepareProtocol objects 例外 SQLite 与 Python 类型 Default adapters and converters (deprecated) Command-line interface How-to guides How to use placeholders to bind values in SQL queries How to adapt custom Python types to SQLite values How to write adaptable objects How to register adapter callables How to convert SQLite values to custom Python types Adapter and converter recipes How to use connection shortcut methods How to use the connection context manager How to work with SQLite URIs 解釋 Transaction control Transaction control via the autocommit attribute Transaction control via the isolation_level attribute 資料壓縮與保存 zlib --- 与 gzip 兼容的压缩 gzip --- 对 gzip 格式的支持 用法範例 命令行界面 命令行选项 bz2 --- 对 bzip2 压缩算法的支持 文件压缩和解压 增量压缩和解压 一次性压缩或解压缩 用法範例 lzma --- 用 LZMA 算法压缩 读写压缩文件 在内存中压缩和解压缩数据 杂项 指定自定义的过滤器链 範例 zipfile --- 使用ZIP存档 ZipFile 物件 Path 对象 PyZipFile 物件 ZipInfo 物件 命令行接口 命令行选项 解压缩的障碍 由于文件本身 文件系统限制 资源限制 中断 提取的默认行为 tarfile --- 读写tar归档文件 TarFile 物件 TarInfo 物件 命令行接口 命令行选项 範例 受支持的 tar 格式 Unicode 问题 檔案格式 csv --- CSV 文件读写 模組內容 变种与格式参数 Reader 对象 Writer 对象 範例 configparser --- 配置文件解析器 快速起步 支持的数据类型 回退值 受支持的 INI 文件结构 值的插值 映射协议访问 定制解析器行为 旧式 API 示例 ConfigParser 物件 RawConfigParser 物件 例外 tomllib --- 剖析 TOML 檔案 範例 Conversion Table netrc --- netrc 文件处理 netrc 物件 plistlib --- 生成与解析 Apple .plist 文件 範例 加密服務 hashlib --- 安全哈希与消息摘要 哈希算法 SHAKE 可变长度摘要 File hashing 密钥派生 BLAKE2 创建哈希对象 常數 範例 简单哈希 使用不同的摘要大小 密钥哈希 随机哈希 个性化 树形模式 开发人员 hmac --- 基於金鑰雜湊的訊息驗證 secrets --- 產生用於管理機密的安全亂數 亂數 產生權杖(token) 權杖應當使用多少個位元組? 其他函式 應用技巧和典範實務(best practices) 通用作業系統服務 os --- 多种操作系统接口 文件名,命令行参数,以及环境变量。 Python UTF-8 模式 进程参数 创建文件对象 文件描述符操作 查询终端的尺寸 文件描述符的继承 文件和目录 Linux 扩展属性 进程管理 调度器接口 其他系统信息 随机数 io --- 处理流的核心工具 總覽 文本 I/O 二进制 I/O 原始 I/O 文本编码格式 选择性的 EncodingWarning 高阶模块接口 类的层次结构 I/O 基类 原始文件 I/O 缓冲流 文本 I/O 性能 二进制 I/O 文本 I/O 多线程 可重入性 time --- 时间的访问和转换 函式 Clock ID 常量 时区常量 argparse --- 命令行选项、参数和子命令解析器 Core Functionality Quick Links for add_argument() 範例 创建一个解析器 增加引數 解析参数 ArgumentParser 物件 prog usage 描述 epilog parents formatter_class prefix_chars fromfile_prefix_chars argument_default allow_abbrev conflict_handler add_help exit_on_error add_argument() 方法 name or flags action nargs const 默认值 type -- 类型 choices required help metavar dest Action 类 parse_args() 方法 选项值语法 无效的参数 包含 - 的参数 参数缩写(前缀匹配) 在 sys.argv 以外 命名空间对象 其它实用工具 子命令 FileType 物件 参数组 互斥 解析器默认值 打印帮助 部分解析 自定义文件解析 退出方法 混合解析 升级 optparse 代码 getopt --- C 风格的命令行选项解析器 logging --- Python 的日志记录工具 记录器对象 日志级别 处理器对象 格式器对象 过滤器对象 LogRecord 物件 LogRecord 属性 LoggerAdapter 物件 线程安全 模块级函数 模块级属性 与警告模块集成 logging.config --- 日志记录配置 配置函数 安全考量 配置字典架构 字典架构细节 增量配置 对象连接 用户定义对象 访问外部对象 访问内部对象 导入解析与定制导入器 Configuring QueueHandler and QueueListener 配置文件格式 logging.handlers --- 日志处理程序 StreamHandler FileHandler NullHandler WatchedFileHandler BaseRotatingHandler RotatingFileHandler TimedRotatingFileHandler SocketHandler DatagramHandler SysLogHandler NTEventLogHandler SMTPHandler MemoryHandler HTTPHandler QueueHandler QueueListener getpass --- 可攜式密碼輸入工具 curses --- 终端字符单元显示的处理 函式 Window 对象 常量 curses.textpad --- 用于 curses 程序的文本输入控件 文本框对象 curses.ascii --- 用于 ASCII 字符的工具 curses.panel --- curses 的面板栈扩展 函式 Panel 对象 platform --- 獲取底層平臺的標識資料 跨平台 Java 平台 Windows 平台 macOS 平台 Unix 平台 Linux 平台 errno --- 标准 errno 系统符号 ctypes --- Python 的外部函数库 ctypes 教程 载入动态连接库 操作导入的动态链接库中的函数 调用函数 基础数据类型 调用函数,继续 Calling varadic functions 使用自定义的数据类型调用函数 指定必选参数的类型(函数原型) 返回类型 传递指针(或以引用方式传递形参) 结构体和联合 结构体/联合字段对齐及字节顺序 结构体和联合中的位域 数组 指针 类型转换 不完整类型 回调函数 访问 dll 的导出变量 意外 变长数据类型 ctypes 参考手册 寻找动态链接库 加载动态链接库 外部函数 函数原型 工具函数 数据类型 基础数据类型 结构化数据类型 数组与指针 並行執行 (Concurrent Execution) threading --- 基于线程的并行 线程本地数据 线程对象 锁对象 RLock 物件 条件对象 信号量对象 Semaphore 範例 事件对象 定时器对象 栅栏对象 在 with 语句中使用锁、条件和信号量 multiprocessing --- 基于进程的并行 簡介 Process 类 上下文和启动方法 在进程之间交换对象 进程间同步 进程间共享状态 使用工作进程 参考 Process 與例外 管道和队列 杂项 连接对象(Connection) 同步原语 共享 ctypes 对象 multiprocessing.sharedctypes 模块 管理器 自定义管理器 使用远程管理器 代理对象 清理 进程池 监听器及客户端 地址格式 认证密码 日志记录 multiprocessing.dummy 模块 编程指导 所有start方法 spawn 和 forkserver 启动方式 範例 multiprocessing.shared_memory --- Shared memory for direct access across processes concurrent 套件 concurrent.futures -- 啟動平行任務 Executor 对象 ThreadPoolExecutor ThreadPoolExecutor 範例 ProcessPoolExecutor ProcessPoolExecutor 範例 Future 对象 模組函式 Exception 类 subprocess --- 子进程管理 使用 subprocess 模块 常用参数 Popen 构造函数 例外 安全考量 Popen 对象 Windows Popen 助手 Windows 常数 较旧的高阶 API 使用 subprocess 模块替换旧函数 替代 /bin/sh shell 命令替换 替代 shell 管道 替代 os.system() 替代 os.spawn 函数族 替代 os.popen(), os.popen2(), os.popen3() 来自 popen2 模块的替代函数 旧式的 Shell 发起函数 註解 在 Windows 上将参数列表转换为一个字符串 Disabling use of vfork() or posix_spawn() sched --- 事件调度器 调度器对象 queue --- 同步佇列 (queue) class(類別) 佇列物件 SimpleQueue 物件 contextvars --- 上下文变量 上下文变量 手动上下文管理 asyncio 支持 _thread --- 底层多线程 API 网络和进程间通信 asyncio --- 非同步 I/O Runners Running an asyncio Program Runner context manager Handling Keyboard Interruption 协程与任务 協程 可等待对象 创建任务 Task Cancellation Task Groups 休眠 并发运行任务 屏蔽取消操作 超时 简单等待 在线程中运行 跨线程调度 内省 Task 对象 串流 StreamReader StreamWriter 範例 使用串流的 TCP echo 客戶端 使用串流的 TCP echo 伺服器 獲取 HTTP 標頭 註冊一個使用串流來等待資料的開放 socket 同步化原始物件 (Synchronization Primitives) Lock Event Condition Semaphore BoundedSemaphore Barrier 子行程 建立子行程 常數 与子进程交互 子行程與線程 範例 佇列 (Queues) Queue Priority Queue(優先佇列) LIFO Queue 例外 範例 例外 事件循环 事件循环方法集 运行和停止循环 安排回调 调度延迟回调 创建 Future 和 Task 打开网络连接 创建网络服务 传输文件 TLS 升级 监控文件描述符 直接使用 socket 对象 DNS 使用管道 Unix 信号 在线程或者进程池中执行代码。 错误处理API 开启调试模式 运行子进程 回调处理 Server 对象 事件循环实现 範例 call_soon() 的 Hello World 示例。 使用 call_later() 来展示当前的日期 监控一个文件描述符的读事件 为SIGINT和SIGTERM设置信号处理器 Futures Future 函數 Future 物件 传输和协议 传输 传输层级 基础传输 只读传输 只写传输 数据报传输 子进程传输 协议 基础协议 基础协议 流式协议 缓冲流协议 数据报协议 子进程协议 範例 TCP 回显服务器 TCP 回显客户端 UDP 回显服务器 UDP 回显客户端 链接已存在的套接字 loop.subprocess_exec() 与 SubprocessProtocol 策略 获取和设置策略 策略对象 进程监视器 自定义策略 平臺支援 所有平台 Windows Windows 的子行程支援 macOS Extending Writing a Custom Event Loop Future and Task private constructors Task lifetime support 高階 API 索引 任務 (Tasks) 佇列 (Queues) 子行程 (Subprocesses) 串流 (Streams) 同步化 (Synchronization) 例外 低階 API 索引 獲取事件迴圈 事件迴圈方法 傳輸 協定 事件迴圈 Policies 使用 asyncio 開發 除錯模式 並行性和多執行緒 (Concurrency and Multithreading) 執行阻塞的程式 日誌記錄 偵測從未被等待的 (never-awaited) 協程 偵測從未被獲取的 (never-retrieved) 例外 socket --- 底层网络接口 套接字协议族 模組內容 例外 常數 函式 创建套接字 其他功能 套接字对象 关于套接字超时的说明 超时与 connect 方法 超时与 accept 方法 範例 ssl --- 套接字对象的 TLS/SSL 包装器 函式、常數與例外 套接字创建 上下文创建 例外 随机生成 证书处理 常數 SSL 套接字 SSL 上下文 证书 证书链 CA 证书 合并的密钥和证书 自签名证书 範例 检测 SSL 支持 客户端操作 服务器端操作 关于非阻塞套接字的说明 内存 BIO 支持 SSL 会话 安全考量 最佳默认值 手动设置 验证证书 协议版本 密码选择 多进程 TLS 1.3 select --- 等待 I/O 完成 /dev/poll 轮询对象 边缘触发和水平触发的轮询 (epoll) 对象 Poll 对象 Kqueue 对象 Kevent 对象 selectors --- 高级 I/O 复用库 簡介 类 範例 signal --- 设置异步事件处理程序 一般规则 执行 Python 信号处理程序 信号与线程 模組內容 範例 对于 SIGPIPE 的说明 有关信号处理句柄和异常的注释 mmap --- 内存映射文件支持 MADV_* 常量 MAP_* 常量 互联网数据处理 email --- 电子邮件与 MIME 处理包 email.message: 表示一封电子邮件信息 email.parser: 解析电子邮件信息 FeedParser API Parser API 附加说明 email.generator: 生成 MIME 文档 email.policy: Policy 对象 email.errors: 异常和缺陷类 email.headerregistry: 自定义标头对象 email.contentmanager: 管理 MIME 内容 内容管理器实例 email: 示例 email.message.Message: 使用 compat32 API 来表示电子邮件消息 email.mime: 从头创建电子邮件和 MIME 对象 email.header: 国际化标头 email.charset: 表示字符集 email.encoders: 编码器 email.utils: 其他工具 email.iterators: 迭代器 json --- JSON 编码和解码器 基本用法 编码器和解码器 例外 标准符合性和互操作性 字符编码 Infinite 和 NaN 数值 对象中的重复名称 顶级非对象,非数组值 实现限制 命令行界面 命令行选项 mailbox --- 操作多种格式的邮箱 Mailbox 物件 Maildir mbox MH Babyl MMDF Message 物件 MaildirMessage mboxMessage MHMessage BabylMessage MMDFMessage 例外 範例 mimetypes --- 映射文件名到 MIME 类型 MimeTypes 物件 base64 —— Base16、Base32、Base64、Base85 資料編碼 安全考量 binascii --- 二进制和 ASCII 码互转 quopri --- 编码与解码经过 MIME 转码的可打印数据 结构化标记处理工具 html --- 超文本标记语言支持 html.parser --- 简单的 HTML 和 XHTML 解析器 HTML 解析器的示例程序 HTMLParser 方法 範例 html.entities --- HTML 一般实体的定义 XML 處理模組 XML 漏洞 defusedxml 套件 xml.etree.ElementTree --- ElementTree XML API 教程 XML 树和元素 解析 XML 用于非阻塞解析的拉取 API 查找感兴趣的元素 修改XML文件 构建 XML 文档 解析带有命名空间的 XML XPath支持 範例 支持的XPath语法 参考 函式 XInclude 支持 範例 参考 函式 元素对象 ElementTree 物件 QName 物件 TreeBuilder 物件 XMLParser 物件 XMLPullParser 物件 例外 xml.dom --- 文档对象模型 API 模組內容 DOM 中的对象 DOMImplementation 物件 节点对象 NodeList 物件 DocumentType 物件 Document 对象 元素对象 Attr 对象 NamedNodeMap 物件 注释对象 Text 和 CDATASection 对象 ProcessingInstruction 物件 例外 一致性 类型映射 访问器方法 xml.dom.minidom --- 最小化的 DOM 实现 DOM 物件 DOM 範例 minidom 和 DOM 标准 xml.dom.pulldom --- 支持构建部分 DOM 树 DOMEventStream 物件 xml.sax --- 支持 SAX2 解析器 SAXException 物件 xml.sax.handler --- SAX 处理句柄的基类 ContentHandler 物件 DTDHandler 物件 EntityResolver 物件 ErrorHandler 物件 LexicalHandler 物件 xml.sax.saxutils --- SAX 工具集 xml.sax.xmlreader --- 用于 XML 解析器的接口 XMLReader 物件 IncrementalParser 物件 Locator 对象 InputSource 物件 Attributes 接口 AttributesNS 接口 xml.parsers.expat --- 使用 Expat 的快速 XML 解析 XMLParser 物件 ExpatError 例外 範例 内容模型描述 Expat 错误常量 互联网协议和支持 webbrowser --- 方便的 Web 浏览器控制工具 浏览器控制器对象 wsgiref --- WSGI 工具和参考实现 wsgiref.util -- WSGI 环境工具 wsgiref.headers -- WSGI 响应标头工具 wsgiref.simple_server -- 一个简单的 WSGI HTTP 服务器 wsgiref.validate --- WSGI 一致性检查器 wsgiref.handlers -- 服务器/网关基类 wsgiref.types -- WSGI types for static type checking 範例 urllib --- URL 處理模組 urllib.request --- 用來開啟 URLs 的可擴充函式庫 Request 对象 OpenerDirector 物件 BaseHandler 物件 HTTPRedirectHandler 物件 HTTPCookieProcessor 物件 ProxyHandler 物件 HTTPPasswordMgr 物件 HTTPPasswordMgrWithPriorAuth 物件 AbstractBasicAuthHandler 物件 HTTPBasicAuthHandler 物件 ProxyBasicAuthHandler 物件 AbstractDigestAuthHandler 物件 HTTPDigestAuthHandler 物件 ProxyDigestAuthHandler 物件 HTTPHandler 物件 HTTPSHandler 物件 FileHandler 物件 DataHandler 物件 FTPHandler 物件 CacheFTPHandler 物件 UnknownHandler 物件 HTTPErrorProcessor 物件 例子 已停用的接口 urllib.request 的限制 urllib.response --- urllib 使用的 Response 类 urllib.parse 用于解析 URL URL 解析 解析ASCII编码字节 结构化解析结果 URL 转码 urllib.error --- urllib.request 引發的例外類別 urllib.robotparser --- robots.txt 的剖析器 http --- HTTP 模組 HTTP 狀態碼 HTTP status category HTTP 方法 http.client --- HTTP 协议客户端 HTTPConnection 物件 HTTPResponse 物件 範例 HTTPMessage 物件 ftplib --- FTP 协议客户端 FTP 物件 FTP_TLS 物件 poplib --- POP3 协议客户端 POP3 物件 POP3 範例 imaplib --- IMAP4 协议客户端 IMAP4 物件 IMAP4 範例 smtplib --- SMTP 协议客户端 SMTP 物件 SMTP 範例 uuid --- RFC 4122 定义的UUID对象 範例 socketserver --- 用于网络服务器的框架 服务器创建的说明 Server 对象 请求处理句柄对象 範例 socketserver.TCPServer 範例 socketserver.UDPServer 範例 异步混合类 http.server --- HTTP 服务器 安全考量 http.cookies --- HTTP状态管理 Cookie 物件 Morsel 物件 範例 http.cookiejar —— HTTP 客户端的 Cookie 处理 CookieJar 與 FileCookieJar 物件 FileCookieJar 的子类及其与 Web 浏览器的协同 CookiePolicy 物件 DefaultCookiePolicy 物件 Cookie 物件 範例 xmlrpc --- XMLRPC 服務端與客戶端模組 xmlrpc.client --- XML-RPC 客户端访问 ServerProxy 物件 日期時間物件 Binary 对象 Fault 对象 ProtocolError 物件 MultiCall 物件 便捷函数 客户端用法的示例 客户端与服务器用法的示例 xmlrpc.server --- 基本 XML-RPC 服务器 SimpleXMLRPCServer 物件 SimpleXMLRPCServer 範例 CGIXMLRPCRequestHandler 文档 XMLRPC 服务器 DocXMLRPCServer 物件 DocCGIXMLRPCRequestHandler ipaddress --- IPv4/IPv6 操作库 方便的工厂函数 IP 地址 地址对象 转换字符串和整数 运算符 比较运算符 算术运算符 IP网络的定义 前缀、网络掩码和主机掩码 网络对象 运算符 逻辑运算符 迭代 作为地址容器的网络 接口对象 运算符 逻辑运算符 其他模块级别函数 自定义异常 多媒体服务 wave --- 读写WAV格式文件 Wave_read 物件 Wave_write 物件 colorsys --- 顏色系統間的轉換 國際化 gettext --- 多语种国际化服务 GNU gettext API 基于类的 API NullTranslations 类 GNUTranslations 类 Solaris 消息编目支持 编目构造器 国际化 (I18N) 你的程序和模块 本地化你的模块 本地化你的应用程序 即时更改语言 延迟翻译 致謝 locale --- 国际化服务 背景、细节、提示、技巧和注意事项 针对扩展程序编写人员和嵌入Python 运行的程序 访问消息目录 程式框架 turtle --- 龜圖學 介紹 可用的 Turtle 和 Screen 方法概览 Turtle 方法 TurtleScreen/Screen 方法 RawTurtle/Turtle 方法和对应函数 海龟动作 获取海龟的状态 度量单位设置 画笔控制 绘图状态 颜色控制 填充 更多绘图控制 海龟状态 可见性 外观 使用事件 特殊海龟方法 复合形状 TurtleScreen/Screen 方法及对应函数 窗口控制 动画控制 使用屏幕事件 输入方法 设置与特殊方法 Screen 专有方法, 而非继承自 TurtleScreen 公共类 帮助与配置 如何使用帮助 文档字符串翻译为不同的语言 如何配置 Screen 和 Turtle turtledemo --- 演示脚本集 Python 2.6 之后的变化 Python 3.0 之后的变化 cmd --- 支持面向行的命令解释器 Cmd 物件 Cmd 例子 shlex —— 简单的词法分析 shlex 物件 解析规则 改进的 shell 兼容性 以 Tk 打造 GUI tkinter —— Tcl/Tk 的 Python 接口 架构 Tkinter 模块 Tkinter 拾遗 Hello World 程序 重要的 Tk 概念 了解 Tkinter 如何封装 Tcl/Tk 我该如何...?这个选项会做...? 浏览 Tcl/Tk 参考手册 线程模型 快速参考 可选配置项 包装器 包装器的参数 部件与变量的关联 窗口管理器 Tk 参数的数据类型 绑定和事件 index 参数 图片 文件处理程序 tkinter.colorchooser --- 颜色选择对话框 tkinter.font --- Tkinter 字体封装 Tkinter 对话框 tkinter.simpledialog --- 标准 Tkinter 输入对话框 tkinter.filedialog --- 文件选择对话框. 原生的载入/保存对话框. tkinter.commondialog --- 对话窗口模板 tkinter.messagebox --- Tkinter 消息提示 tkinter.scrolledtext --- 滚动文字控件 tkinter.dnd --- 拖放操作支持 tkinter.ttk --- Tk 风格的控件 ttk 的用法 ttk 控件 控件 标准属性 可滚动控件的属性 标签控件的属性 兼容性属性 控件状态 ttk.Widget Combobox 属性 虚拟事件 ttk.Combobox Spinbox 属性 虚拟事件 ttk.Spinbox Notebook 属性 Tab 属性 Tab ID 虚拟事件 ttk.Notebook Progressbar 属性 ttk.Progressbar Separator 属性 Sizegrip 与平台相关的注意事项 Bug Treeview 属性 数据项的属性 tag 属性 列标识 虚拟事件 ttk.Treeview Ttk 样式 布局 tkinter.tix --- Tk 擴充小工具 使用 Tix Tix 部件 基本部件 文件选择器 层级式列表框 表格式列表框 管理器部件 图像类型 其他部件 表单布局管理器 Tix 指令 IDLE 目錄 文件菜单 (命令行和编辑器) 编辑菜单(命令行和编辑器) 格式菜单(仅 window 编辑器) 运行菜单(仅 window 编辑器) Shell 菜单(仅限 Shell 窗口) 调试菜单(仅限 Shell 窗口) 选项菜单(命令行和编辑器) Window 菜单(命令行和编辑器) 帮助菜单(命令行和编辑器) Context menus Editing and Navigation 编辑窗口 按键绑定 自动缩进 搜索和替换 补全 提示 代码上下文 Shell window 文本颜色 Startup and Code Execution 命令行用法 启动失败 运行用户代码 Shell中的用户输出 开发 tkinter 应用程序 在没有子进程的情况下运行 Help and Preferences 帮助源 首选项设置 macOS 上的IDLE 扩展 idlelib 開發工具 typing —— 类型注解支持 相关的 PEP 类型别名 NewType 可调对象(Callable) 泛型(Generic) 用户定义的泛型类型 Any 型別 名义子类型 vs 结构子类型 模組內容 特殊类型原语 特殊类型 特殊形式 构建泛型类型 其他特殊指令 泛型具象容器 对应的内置类型 collections 对应类型 其他具象类型 抽象基类 collections.abc 对应的容器 collections.abc 对应的其他类型 异步编程 上下文管理器类型 協定 函式與裝飾器 内省辅助器 常數 Deprecation Timeline of Major Features pydoc --- 文档生成器和在线帮助系统 Python 开发模式 Python 开发模式的效果 ResourceWarning 範例 文件描述符错误示例 doctest --- 测试交互性的Python示例 简单用法:检查Docstrings中的示例 简单的用法:检查文本文件中的例子 它是如何工作的 哪些文件串被检查了? 文档串的例子是如何被识别的? 什么是执行上下文? 异常如何处理? 选项标记 指令 警告 基本API Unittest API 高级 API DocTest 物件 Example 物件 DocTestFinder 物件 DocTestParser 物件 DocTestRunner 物件 OutputChecker 物件 调试 肥皂盒 unittest --- 單元測試框架 簡單範例 命令執行列介面 (Command-Line Interface) 命令列模式選項 Test Discovery(測試探索) 组织你的测试代码 复用已有的测试代码 跳过测试与预计的失败 使用子测试区分测试迭代 类与函数 测试用例 分组测试 加载和运行测试 load_tests 协议 类与模块设定 setUpClass 和 tearDownClass setUpModule 和 tearDownModule 信号处理 unittest.mock --- 模拟对象库 快速上手 Mock 类 调用 删除属性 Mock 的名称与 name 属性 附加 Mock 作为属性 patch 装饰器 patch patch.object patch.dict patch.multiple 补丁方法: start 和 stop 为内置函数打补丁 TEST_PREFIX 嵌套补丁装饰器 补丁的位置 对描述器和代理对象打补丁 MagicMock 与魔术方法支持 模拟魔术方法 MagicMock 辅助对象 sentinel DEFAULT call create_autospec ANY FILTER_DIR mock_open 自动 spec 将 mock 封包 unittest.mock --- 上手指南 使用 mock 模拟方法调用 对象上的方法调用的 mock 模拟类 命名你的 mock 追踪所有的调用 设置返回值和属性 通过 mock 引发异常 附带影响函数和可迭代对象 模拟异步迭代器 模拟异步上下文管理器 基于现有对象创建模拟对象 补丁装饰器 更多示例 模拟链式调用 部分模拟 模拟生成器方法 对每个测试方法应用相同的补丁 模拟未绑定方法 通过 mock 检查多次调用 处理可变参数 嵌套补丁 使用 MagicMock 模拟字典 模拟子类及其属性 通过 patch.dict 模拟导入 追踪调用顺序和不太冗长的调用断言 更复杂的参数匹配 2to3 --- 自動將 Python 2的程式碼轉成 Python 3 使用 2to3 修复器 lib2to3 --- 2to3's library test --- Python 回归测试包 为 test 包编写单元测试 使用命令行界面运行测试 test.support --- 针对 Python 测试套件的工具 test.support.socket_helper --- 用于套接字测试的工具 test.support.script_helper --- 用于 Python 执行测试工具 test.support.bytecode_helper --- 用于测试正确字节码生成的支持工具 test.support.threading_helper --- 用于线程测试的工具 test.support.os_helper --- 用于操作系统测试的工具 test.support.import_helper --- 用于导入测试的工具 test.support.warnings_helper --- 用于警告测试的工具 除錯與效能分析 稽核事件表 bdb --- 调试器框架 faulthandler —— 转储 Python 的跟踪信息 转储跟踪信息 故障处理程序的状态 一定时间后转储跟踪数据。 转储用户信号的跟踪信息。 文件描述符相关话题 範例 pdb --- Python 的调试器 调试器命令 Python 性能分析器 性能分析器简介 实时用户手册 profile 和 cProfile 模块参考 Stats 类 什么是确定性性能分析? 限制 校正 使用自定义计时器 timeit --- 测量小代码片段的执行时间 基礎範例 Python 接口 命令執行列介面 範例 trace —— 跟踪 Python 语句的执行 命令行用法 主要的可选参数 修饰器 过滤器 编程接口 tracemalloc --- 跟踪内存分配 範例 显示前10项 计算差异 获取一个内存块的溯源 Pretty top Record the current and peak size of all traced memory blocks API 函式 DomainFilter 过滤器 Frame 快照 统计 StatisticDiff 跟踪 回溯 軟體封裝與發布 ensurepip --- 引导 pip 安装器 命令行界面 模組 API venv --- 创建虚拟环境 创建虚拟环境 How venvs work API 一个扩展 EnvBuilder 的例子 zipapp —— 管理可执行的 Python zip 打包文件 基本範例 命令執行列介面 Python API 範例 指定解释器程序 用 zipapp 创建独立运行的应用程序 制作 Windows 可执行文件 注意事项 Python 打包应用程序的格式 Python运行时服务 sys --- 系统相关的参数和函数 sysconfig —— 提供对 Python 配置信息的访问支持 配置变量 安装路径 其他函式 将 sysconfig 作为脚本使用 builtins --- 內建物件 __main__ --- 最高层级代码环境 __name__ == '__main__' 什么是“最高层级代码环境”? 常见用法 打包考量 Python 包中的 __main__.py 常见用法 import __main__ warnings —— 警告信息的控制 警告类别 警告过滤器 警告过滤器的介绍 默认警告过滤器 重写默认的过滤器 暂时禁止警告 测试警告 为新版本的依赖关系更新代码 可用的函数 可用的上下文管理器 dataclasses --- 数据类 模块内容 初始化后处理 类变量 仅初始化变量 冻结的实例 继承 __init__() 中仅限关键字字段的重新排序 默认工厂函数 可变的默认值 Descriptor-typed fields contextlib --- 为 with语句上下文提供的工具 工具 例子和配方 支持可变数量的上下文管理器 捕获 __enter__ 方法产生的异常 在一个 __enter__ 方法的实现中进行清理 替换任何对 try-finally 和旗标变量的使用 将上下文管理器作为函数装饰器使用 单独使用,可重用并可重进入的上下文管理器 重进入上下文管理器 可重用的上下文管理器 abc --- 抽象基类 atexit --- 退出处理器 atexit 範例 traceback —— 打印或读取堆栈的跟踪信息 TracebackException 物件 StackSummary 物件 FrameSummary 物件 回溯示例 __future__ --- Future 语句定义 gc --- 垃圾回收器接口 inspect --- 检查对象 类型和成员 获取源代码 使用 Signature 对象对可调用对象进行内省 类与函数 解释器栈 静态地获取属性 生成器和协程的当前状态 代码对象位标志 命令行界面 site —— 指定域的配置钩子 Readline 配置 模組內容 命令行界面 自定义 Python 解释器 code --- 解释器基类 交互解释器对象 交互式控制台对象 codeop --- 编译Python代码 匯入模組 zipimport --- 从 Zip 存档中导入模块 zipimporter 物件 範例 pkgutil --- 包扩展工具 modulefinder --- 查找脚本使用的模块 ModuleFinder 的示例用法 runpy ——查找并执行 Python 模块 importlib --- import 的实现 簡介 函式 importlib.abc —— 关于导入的抽象基类 importlib.machinery —— 导入器和路径钩子函数。 importlib.util —— 导入器的工具程序代码 範例 用编程方式导入 检查某模块可否导入。 直接导入源码文件。 实现延迟导入 导入器的配置 importlib.import_module() 的近似实现 importlib.resources -- Resources 已棄用函式 importlib.resources.abc -- Abstract base classes for resources 使用 importlib.metadata 概述 功能性 API 入口点 分发的元数据 分发的版本 分发的文件 分发的依赖 Mapping import to distribution packages 分发 Distribution Discovery 扩展搜索算法 The initialization of the sys.path module search path Virtual environments _pth files Embedded Python Python 语言服务 ast --- 抽象语法树 抽象文法 节点类 字面值 变量 表达式 抽取 推导式 语句 导入 控制流 模式匹配 函数与类定义 async 与 await ast 中的辅助函数 编译器旗标 命令行用法 symtable ——访问编译器的符号表 符号表的生成 符号表的查看 token --- 与Python解析树一起使用的常量 keyword --- 检验Python关键字 tokenize --- 对 Python 代码使用的标记解析器 对输入进行解析标记 命令行用法 範例 tabnanny --- 模糊缩进检测 pyclbr --- Python 模块浏览器支持 函式物件 Class 对象 py_compile --- 编译 Python 源文件 命令行接口 compileall --- 字节编译 Python 库 使用命令行 公有函数 dis --- Python bytecode的反組譯器 字节码分析 分析函数 Python字节码说明 操作码集合 pickletools --- pickle 开发者工具集 命令行语法 命令行选项 编程接口 MS Windows 特有服務 msvcrt --- 来自 MS VC++ 运行时的有用例程 文件操作 控制台 I/O 其他函数 winreg --- 访问 Windows 注册表 函式 常數 HKEY_* 常量 访问权限 64 位系统特有 注册表值的类型 注册表句柄对象 winsound —— Windows 系统的音频播放接口 Unix 特有服務 posix --- 最常见的 POSIX 系统调用 大文件支持 重要的模块内容 pwd --- 用户密码数据库 grp --- 组数据库 termios --- POSIX 风格的 tty 控制 範例 tty --- 終端機控制函式 pty --- 伪终端工具 範例 fcntl —— 系统调用 fcntl 和 ioctl resource --- 资源使用信息 资源限制 资源用量 Unix syslog 库例程 範例 簡單範例 已被取代的模組 aifc --- 讀寫 AIFF 與 AIFC 檔案 audioop --- 操作原始聲音檔案 cgi --- 通用閘道器介面支援 簡介 使用 cgi 模块 更高层级的接口 函式 对于安全性的关注 在 Unix 系统上安装你的 CGI 脚本 测试你的 CGI 脚本 调试 CGI 脚本 常见问题和解决方案 cgitb --- CGI 腳本的回溯 (traceback) 管理程式 chunk --- 讀取 IFF 分塊資料 crypt --- 用於檢查 Unix 密碼的函式 哈希方法 模組屬性 模組函式 範例 imghdr --- 推測圖片種類 imp —— 由代码内部访问 import 。 範例 mailcap --- Mailcap 文件处理 msilib --- 讀寫 Microsoft Installer 檔案 Database Objects View Objects Summary Information Objects Record Objects Errors CAB 物件 Directory Objects 相关特性 GUI classes Precomputed tables nis --- Sun NIS (Yellow Pages) 介面 nntplib --- NNTP 協定客戶端 NNTP 物件 屬性 方法 工具函数 optparse --- 命令行选项的解析器 背景 术语 What are options for? 位置参数有什么用? 教程 Understanding option actions The store action Handling boolean (flag) options Other actions 默认值 Generating help Grouping Options Printing a version string How optparse handles errors Putting it all together 参考指南 创建解析器 填充解析器 定义选项 Option attributes Standard option actions Standard option types 解析参数 Querying and manipulating your option parser Conflicts between options 清理 Other methods Option Callbacks Defining a callback option How callbacks are called Raising errors in a callback Callback example 1: trivial callback Callback example 2: check option order Callback example 3: check option order (generalized) Callback example 4: check arbitrary condition Callback example 5: fixed arguments Callback example 6: variable arguments Extending optparse Adding new types Adding new actions ossaudiodev --- 對 OSS 相容聲音裝置的存取 音频设备对象 混音器设备对象 pipes --- shell pipelines 介面 模板对象 sndhdr --- 判定聲音檔案的型別 spwd --- shadow 密碼資料庫 sunau --- 讀寫 Sun AU 檔案 AU_read 物件 AU_write 物件 telnetlib --- Telnet 客戶端 Telnet 对象 Telnet 範例 xdrlib --- uuencode 檔案的編碼與解碼 xdrlib --- XDR 資料的編碼與解碼 Packer 对象 Unpacker 对象 例外 Security Considerations 擴充和嵌入 Python 直譯器 推薦的第三方工具 不使用第三方工具建立擴充 1. 以 C 或 C++ 擴充 Python 1.1. 一個簡單範例 1.2. 关于错误和异常 1.3. 回到範例 1.4. 模块方法表和初始化函数 1.5. 编译和链接 1.6. 在C中调用Python函数 1.7. 提取扩展函数的参数 1.8. 给扩展函数的关键字参数 1.9. 构造任意值 1.10. 引用计数 1.10.1. Python中的引用计数 1.10.2. 拥有规则 1.10.3. 危险的薄冰 1.10.4. NULL指针 1.11. 在C++中编写扩展 1.12. 给扩展模块提供C API 2. 自定义扩展类型:教程 2.1. 基础 2.2. Adding data and methods to the Basic example 2.3. Providing finer control over data attributes 2.4. Supporting cyclic garbage collection 2.5. Subclassing other types 3. 定义扩展类型:已分类主题 3.1. 终结和内存释放 3.2. 对象展示 3.3. 属性管理 3.3.1. 泛型属性管理 3.3.2. 类型专属的属性管理 3.4. 对象比较 3.5. 抽象协议支持 3.6. 弱引用支持 3.7. 更多建议 4. 构建C/C++扩展 4.1. Building C and C++ Extensions with setuptools 5. 在 Windows 上构建 C 和 C++ 扩展 5.1. 菜谱式说明 5.2. Unix 和 Windows 之间的差异 5.3. DLL 的实际使用 在更大的應用程式中嵌入 CPython 運行環境 (runtime) 1. 在其它 App 內嵌入 Python 1.1. 高层次的嵌入 1.2. 突破高层次嵌入的限制:概述 1.3. 只做嵌入 1.4. 对嵌入 Python 功能进行扩展 1.5. 在 C++ 中嵌入 Python 1.6. 在类 Unix 系统中编译和链接 Python/C API 參考手冊 簡介 代码标准 包含文件 有用的宏 对象、类型和引用计数 引用计数 引用计数细节 类型 例外 嵌入式Python 调试构建 C API 的稳定性 应用程序二进制接口的稳定版 受限 API 的作用域和性能 受限 API 警示 平台的考虑 受限 API 的内容 极高层级 API 參照計數 例外處理 打印和清理 抛出异常 发出警告 查询错误指示器 信号处理 例外類別 例外物件 Unicode 异常对象 递归控制 标准异常 标准警告类别 工具 作業系統工具 系統函式 行程(Process)控制 匯入模組 数据 marshal 操作支持 解析参数并构建值变量 解析参数 字符串和缓存区 數字 其他物件 API 函式 创建变量 字串轉換與格式化 反射 编解码器注册与支持功能 Codec 查找API 用于Unicode编码错误处理程序的注册表API 抽象物件層 (Abstract Objects Layer) 对象协议 呼叫協定 (Call Protocol) tp_call 協定 Vectorcall 協定 遞迴控制 Vectorcall 支援 API 物件呼叫 API 呼叫支援 API 数字协议 序列协议 映射协议 迭代器协议 緩衝協定 (Buffer Protocol) 缓冲区结构 缓冲区请求的类型 与请求无关的字段 只读,格式 形状,步幅,子偏移量 连续性的请求 复合请求 复杂数组 NumPy-风格:形状和步幅 PIL-风格:形状,步幅和子偏移量 缓冲区相关函数 舊式緩衝協定 (Buffer Protocol) 具体的对象层 基礎物件 类型对象 创建堆分配类型 None 物件 數值物件 整數物件 Boolean(布林)物件 浮點數(Floating Point)物件 Pack and Unpack functions Pack functions Unpack functions 复数对象 表示复数的C结构体 表示复数的Python对象 序列物件 bytes 对象 字节数组对象 类型检查宏 直接 API 函数 宏 Unicode物件與編碼 Unicode对象 Unicode类型 Unicode字符属性 Creating and accessing Unicode strings Locale Encoding 文件系统编码格式 wchar_t Support Built-in Codecs Generic Codecs UTF-8 编解码器 UTF-32 Codecs UTF-16 Codecs UTF-7 Codecs Unicode-Escape 编解码器 Raw-Unicode-Escape Codecs Latin-1 Codecs ASCII Codecs Character Map Codecs MBCS codecs for Windows Methods & Slots 方法与槽位函数 元組(Tuple)物件 结构序列对象 List(串列)物件 容器物件 字典物件 集合对象 函式物件 函式(Function)物件 實例方法物件 (Instance Method Objects) 方法物件 (Method Objects) Cell 物件 代码对象 其他物件 檔案(File)物件 模組物件模組 初始化 C 模块 Single-phase initialization Multi-phase initialization Low-level module creation functions Support functions Module lookup 疊代器(Iterator)物件 Descriptor(描述器)物件 切片物件 Ellipsis 对象 MemoryView 物件 弱參照物件 Capsule 对象 Frame Objects 產生器物件 Coroutine(協程)物件 上下文变量对象 DateTime 物件 类型注解对象 初始化,终结和线程 在Python初始化之前 全局配置变量 Initializing and finalizing the interpreter Process-wide parameters 线程状态和全局解释器锁 Releasing the GIL from extension code 非Python创建的线程 Cautions about fork() 高阶 API Low-level API 子解释器支持 错误和警告 异步通知 分析和跟踪 高级调试器支持 线程本地存储支持 Thread Specific Storage (TSS) API Dynamic Allocation 方法 Thread Local Storage (TLS) API Python初始化配置 範例 PyWideStringList PyStatus PyPreConfig Preinitialize Python with PyPreConfig PyConfig Initialization with PyConfig Isolated Configuration Python Configuration Python Path Configuration Py_RunMain() Py_GetArgcArgv() Multi-Phase Initialization Private Provisional API 記憶體管理 總覽 分配器域 原始内存接口 内存接口 对象分配器 默认内存分配器 自定义内存分配器 Python 内存分配器的调试钩子 pymalloc 分配器 自定义 pymalloc Arena 分配器 tracemalloc C API 範例 对象实现支持 在堆上分配对象 通用物件結構 基本的对象类型和宏 Implementing functions and methods Accessing attributes of extension types Member flags Member types Defining Getters and Setters 类型对象 快速参考 "tp_方法槽" 子方法槽(方法域) 槽位 typedef PyTypeObject 定义 PyObject 槽位 PyVarObject 槽位 PyTypeObject 槽 Static Types Heap Types Number Object Structures Mapping Object Structures Sequence Object Structures Buffer Object Structures Async Object Structures Slot Type typedefs 範例 使对象类型支持循环垃圾回收 控制垃圾回收器状态 API 和 ABI 版本管理 發布 Python 模組 關鍵術語 開源授權與協同合作 安裝工具 閱讀 Python 封裝使用者指南 我該如何...? ...為我的專案選擇一個名稱? ...建立和發布二進制擴充? 安裝 Python 模組 關鍵術語 基本用法 我該如何...? ...在 Python 3.4 之前的 Python 版本中安裝 pip? ...只為目前的使用者安裝套件? ...安裝科學的 Python 套件? ...平行安裝多個 Python 版本並使用它們? 常見的安裝問題 在 Linux 上安裝套件至系統 Python 未安裝 pip 安裝二進制擴充 (binary extension) Python 如何達成任務 Python 2 的程式碼移植到Python 3 簡短的說明 詳細的 向下支援Python 2.6和更舊的版本 确保你在你的``setup.py``文件中指定适当的版本支持 有好的測試覆蓋率 瞭解Python 2 & 3的差異 更新你的程式碼 除法 文本与二进制数据 使用特征检测而不是版本检测 防止兼容性退步 检查哪些依赖性会阻碍你的过渡 更新你的``setup.py``文件以表示对Python 3的兼容 使用持续集成以保持兼容 考虑使用可选的静态类型检查 遷移延伸模組到 Python 3 用 Python 进行 Curses 编程 curses 是什么? Python 的 curses 模块 开始和结束 curses 应用程序 窗口和面板 显示文字 属性和颜色 用户输入 更多的信息 修飾器 HowTo 指南 入门 简单示例:返回常量的描述器 动态查找 托管属性 定制名称 结束语 完整的实际例子 验证器类 自定义验证器 实际应用 技术教程 摘要 定义与介绍 描述器协议 描述器调用概述 通过实例调用 通过类调用 通过 super 调用 调用逻辑总结 自动名称通知 ORM 範例 纯 Python 等价实现 属性 函数和方法 方法的种类 静态方法 类方法 成员对象和 __slots__ Enum HOWTO Programmatic access to enumeration members and their attributes Duplicating enum members and values Ensuring unique enumeration values Using automatic values Iteration Comparisons Allowed members and attributes of enumerations Restricted Enum subclassing Pickling Functional API Derived Enumerations IntEnum StrEnum IntFlag Flag Others When to use __new__() vs. __init__() Finer Points Supported __dunder__ names Supported _sunder_ names _Private__names Enum member type Creating members that are mixed with other data types Boolean value of Enum classes and members Enum classes with methods Combining members of Flag Flag and IntFlag minutia How are Enums and Flags different? Enum Classes Flag Classes Enum Members (aka instances) Flag Members Enum Cookbook Omitting values Using auto Using object Using a descriptive string Using a custom __new__() OrderedEnum DuplicateFreeEnum Planet TimePeriod Subclassing EnumType 函式編程 HOWTO 簡介 形式证明 模块化 易于调试和测试 组合性 迭代器 支持迭代器的数据类型 生成器表达式和列表推导式 生成器 向生成器传递值 内置函数 itertools 模块 创建新的迭代器 对元素使用函数 选择元素 组合函数 为元素分组 functools 模块 operator 模块 小函数和 lambda 表达式 修订记录和致谢 参考文献 通用文献 Python 相关 Python 文档 如何使用 Logging 模組 基礎 Logging 指南 什麼時候使用 logging 一個簡單範例 记录日志到文件 从多个模块记录日志 记录变量数据 更改显示消息的格式 在消息中显示日期/时间 后续步骤 进阶日志教程 记录流程 记录器 处理器 格式器 配置日志记录 如果没有提供配置会发生什么 配置库的日志记录 日志级别 自定义级别 有用的处理器 记录日志时引发的异常 使用任意对象作为消息 优化 Other resources 日志操作手册 在多个模块中记录日志 在多个线程中记录日志 多个 handler 和多种 formatter 在多个地方记录日志 Custom handling of levels 日志配置服务器示例 处理日志 handler 的阻塞 通过网络收发日志事件 在生产中运行日志套接字侦听器 在自己的输出日志中添加上下文信息 利用 LoggerAdapter 传递上下文信息 使用除字典之外的其它对象传递上下文信息 使用过滤器传递上下文信息 Use of contextvars Imparting contextual information in handlers 从多个进程记录至单个文件 concurrent.futures.ProcessPoolExecutor 的用法 使用 Gunicorn 和 uWSGI 来部署 Web 应用程序 轮换日志文件 使用其他日志格式化方式 自定义 LogRecord 子类化 QueueHandler - ZeroMQ 示例 子类化 QueueListener —— ZeroMQ 示例 基于字典进行日志配置的示例 利用 rotator 和 namer 自定义日志轮换操作 更加详细的多道处理示例 在发送给 SysLogHandler 的信息中插入一个 BOM。 结构化日志的实现代码 利用 dictConfig() 自定义 handler 生效于整个应用程序的格式化样式 LogRecord 工厂的用法 自定义信息对象的使用 利用 dictConfig() 定义过滤器 异常信息的自定义格式化 语音播报日志信息 缓冲日志消息并有条件地输出它们 Sending logging messages to email, with buffering 通过配置使用UTC (GMT) 格式化时间 使用上下文管理器的可选的日志记录 命令行日志应用起步 Qt GUI 日志示例 将日志记录到带有 RFC5424 支持的 syslog How to treat a logger like an output stream 理应避免的用法 多次打开同一个日志文件 将日志对象用作属性或传递参数 给日志库代码添加 NullHandler 之外的其他 handler 创建大量的日志对象 其他资源 如何使用正規表達式 簡介 简单正则 匹配字符 重复 使用正则表达式 编译正则表达式 反斜杠灾难 应用匹配 模块级函数 编译标志 更多模式能力 更多元字符 分组 非捕获和命名组 前视断言 修改字符串 分割字符串 搜索和替换 常见问题 使用字符串方法 match() 和 search() 贪婪与非贪婪 使用 re.VERBOSE 反馈 套接字编程指南 套接字 历史 创建套接字 IPC 使用一个套接字 二进制数据 断开连接 套接字何时销毁 非阻塞的套接字 如何排序 基礎排序 关键函数 Operator 模块函数 升冪與降冪 排序稳定性和排序复杂度 Decorate-Sort-Undecorate Comparison Functions Odds and Ends Unicode 指南 Unicode 概述 定義 编码 参考文献 Python对Unicode的支持 字符串类型 转换为字节 Python 源代码中的 Unicode 文字 Unicode属性 字符串比较 Unicode 正则表达式 参考文献 Unicode 数据的读写 Unicode 文件名 识别 Unicode 的编程技巧 在文件编码格式之间进行转换 编码格式未知的文件 参考文献 致謝 如何使用 urllib 套件取得網路資源 簡介 從 URL 取得資源 数据 HTTP 头部信息 异常的处理 URLError HTTPError 错误代码 总之 第一种方案 第二种方案 info 和 geturl 方法 Opener 和 Handler 基本认证 代理 套接字与分层 註解 Argparse 教學 概念 基本用法 介紹位置參數 介紹選項參數 短选项 現在結合位置與選項參數 进行一些小小的改进 Specifying ambiguous arguments 矛盾的选项 結論 ipaddress 模組介紹 创建 Address/Network/Interface 对象 关于IP版本的说明 IP主机地址 定义网络 主机接口 审查 Address/Network/Interface 对象 Network 作为 Address 列表 比较运算 将IP地址与其他模块一起使用 实例创建失败时获取更多详细信息 Argument Clinic 的用法 Argument Clinic 的设计目标 基本概念和用法 函数的转换 进阶 符号化默认值 对 Argument Clinic 生成的 C 函数和变量进行重命名 函数转换会用到 PyArg_UnpackTuple 可选参数组 采用真正的 Argument Clinic 转换器,而不是 “传统转换器” Py_buffer 高级转换器 参数的默认值 默认值 NULL 设为默认值的表达式 返回值转换器 克隆已有的函数 调用 Python 代码 self 转换器的用法 “定义类”转换器 编写自定义转换器 编写自定义的返回值转换器 METH_O 和 METH_NOARGS tp_new 和 tp_init functions 改变和重定向 Clinic 的输出 #ifdef 使用技巧 在 Python 文件中使用 Argument Clinic 使用 DTrace 和 SystemTap 检测CPython 启用静态标记 静态DTrace探针 静态SystemTap标记 可用的静态标记 SystemTap Tapsets 範例 Python support for the Linux perf profiler How to enable perf profiling support How to obtain the best results 对象注解属性的最佳实践 在 Python 3.10 以上版本中访问对象的注解字典 在 Python 3.9 及更早的版本中访问对象的注解字典 解析字符串形式的注解 任何版本 Python 中使用 __annotations__ 的最佳实践 __annotations__ 的坑 Isolating Extension Modules Who should read this Background Enter Per-Module State Isolated Module Objects Surprising Edge Cases Making Modules Safe with Multiple Interpreters Managing Global State Managing Per-Module State Opt-Out: Limiting to One Module Object per Process Module State Access from Functions Heap Types Changing Static Types to Heap Types Defining Heap Types Garbage-Collection Protocol Module State Access from Classes Module State Access from Regular Methods Module State Access from Slot Methods, Getters and Setters Lifetime of the Module State Open Issues Per-Class Scope Lossless Conversion to Heap Types Python 常見問題 一般的 Python 常見問答集 一般資訊 在真實世界中的 Python 程式開發常見問答集 常見問題 语言核心内容 数字和字符串 性能 序列(元组/列表) 对象 模組 設計和歷史常見問答集 為什麼 Python 使用縮排將陳述式進行分組? 為什麼我會從簡單的數學運算得到奇怪的結果? 為何浮點數運算如此不精確? 為什麼 Python 字串不可變動? 為何「self」在方法 (method) 定義和呼叫時一定要明確使用? 為何我不能在運算式 (expression) 中使用指派運算? 為何 Python 對於一些功能實作使用方法(像是 list.index()),另一些使用函式(像是 len(list))? 為何 join() 是字串方法而非串列 (list) 或元組 (tuple) 方法? 例外處理有多快? 為什麼 Python 內沒有 switch 或 case 陳述式? 為何不能在直譯器上模擬執行緒,而要使用作業系統的特定實作方式? 為何 lambda 運算式不能包含陳述式? Python 可以被編譯成機器語言、C 語言或其他種語言嗎? Python 如何管理記憶體? 為何 CPython 不使用更多傳統的垃圾回收機制? 當 CPython 結束時,為何所有的記憶體不會被釋放? 為何要把元組 (tuple) 和串列 (list) 分成兩個資料型態? 串列 (list) 在 CPython 中是怎麼實作的? 字典 (dictionaries) 在 CPython 中是怎麼實作的? 為何字典的鍵一定是不可變的? 為何 list.sort() 不是回傳排序過的串列? 如何在 Python 中指定和強制使用一個介面規範 (interface spec)? 為何沒有 goto 語法? 為何純字串 (r-string) 不能以反斜線結尾? 為何 Python 沒有屬性賦值的 with 陳述式? 為何產生器 (generator) 不支援 with 陳述式? 為何 if、while、def、class 陳述式裡需要冒號? 為何 Python 允許在串列和元組末端加上逗號? 函式庫和擴充功能的常見問題 常見函式問題 一般性的工作 线程相关 输入与输出 网络 / Internet 编程 数据库 数学和数字 扩展/嵌入常见问题 可以使用 C 语言创建自己的函数吗? 可以使用 C++ 语言创建自己的函数吗? C很难写,有没有其他选择? 如何在 C 中执行任意 Python 语句? 如何在 C 中对任意 Python 表达式求值? 如何从Python对象中提取C的值? 如何使用Py_BuildValue()创建任意长度的元组? 如何从C调用对象的方法? 如何捕获PyErr_Print()(或打印到stdout / stderr的任何内容)的输出? 如何从C访问用Python编写的模块? 如何在 Python 中对接 C ++ 对象? 我使用Setup文件添加了一个模块,为什么make失败了? 如何调试扩展? 我想在Linux系统上编译一个Python模块,但是缺少一些文件。为什么? 如何区分“输入不完整”和“输入无效”? 如何找到未定义的g++符号__builtin_new或__pure_virtual? 能否创建一个对象类,其中部分方法在C中实现,而其他方法在Python中实现(例如通过继承)? 在 Windows 使用 Python 的常見問答集 如何在 Windows 作業系統裡運行 Python 程式? 如何使 Python 腳本可以執行? 為什麼 Python 有時需要這麼長的時間才能開始? 如何從 Python 腳本製作可執行檔? *.pyd 檔是否與 DLL 相同? 如何將 Python 嵌入 Windows 應用程式中? 如何防止編輯器在我的 Python 原始碼中插入 tab? 如何在不阻塞的情況下檢查 keypress? 如何解決遺漏 api-ms-win-crt-runtime-l1-1-0.dll 的錯誤? 圖形使用者介面常見問答集 圖形使用者介面 (GUI) 的常見問題 Python 有哪些 GUI 套件? Tkinter 的問答 「為什麼 Python 被安裝在我的機器上?」常見問答集 什麼是 Python? 為什麼 Python 被安裝在我的機器上? 我能夠自行刪除 Python 嗎? 術語表 關於這些說明文件 Python 文件的貢獻者們 處理錯誤 (Bug) 說明文件的錯誤 使用 Python 問題追蹤系統 開始讓自己貢獻 Python 版權宣告 沿革與授權 軟體沿革 關於存取或以其他方式使用 Python 的合約條款 用於 PYTHON 3.12.0a2 的 PSF 授權合約 用於 PYTHON 2.0 的 BEOPEN.COM 授權合約 用於 PYTHON 1.6.1 的 CNRI 授權合約 用於 PYTHON 0.9.0 至 1.2 的 CWI 授權合約 用於 PYTHON 3.12.0a2 說明文件內程式碼的 ZERO-CLAUSE BSD 授權 被收錄軟體的授權與致謝 Mersenne Twister Sockets 非同步 socket 服務 Cookie 管理 執行追蹤 UUencode 與 UUdecode 函式 XML 遠端程序呼叫 test_epoll Select kqueue SipHash24 strtod 與 dtoa OpenSSL expat libffi zlib cfuhash libmpdec W3C C14N 測試套件 Audioop

沒有留言:

張貼留言

Python 標準函式庫 (Standard Library

Python 標準函式庫 (Standard Library) — Python 3.12.0a3 說明文件 ...