Python 文档目录
***************

* Python的新变化

  * Python 3.6 有什么新变化A

    * 摘要 - 发布重点

    * 新的特性

      * 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

      * 回溯

      * 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

      * xml

      * 已弃用的 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

    * Notable changes in Python 3.6.14

  * Python 3.5 有什么新变化

    * 摘要 - 发布重点

    * 新的特性

      * 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

      * 回溯

      * 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

      * 回溯

      * 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 changes

    * PEP 393: 灵活的字符串表示

      * Functionality

      * 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

      * Visible Changes

    * 其他语言特性修改

    * A Finer-Grained Import Lock

    * Builtin functions and types

    * 新增模块

      * faulthandler

      * ipaddress

      * lzma

    * 改进的模块

      * abc

      * array

      * base64

      * binascii

      * bz2

      * 编码器

      * collections

      * contextlib

      * crypt

      * curses

      * datetime

      * decimal

        * 相关特性

        * API changes

      * 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 Is A Function

      * Views And Iterators Instead Of Lists

      * Ordering Comparisons

      * 整数

      * Text Vs. Data Instead Of Unicode Vs. 8-bit

    * Overview Of Syntax Changes

      * 新语法

      * 修改的语法

      * 移除的语法

    * Changes Already Present In Python 2.6

    * Library Changes

    * **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的未来

    * Changes to the Handling of Deprecation Warnings

    * Python 3.1 Features

    * 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: Dictionary Views

    * PEP 3137: The memoryview Object

    * 其他语言特性修改

      * Interpreter Changes

      * 性能优化

    * 新增和改进的模块

      * 新模块：importlib

      * 新模块：sysconfig

      * ttk: Themed Widgets for Tk

      * 更新的模块：unittest

      * 更新的模块：ElementTree 1.3

    * 构建和 C API 的改变

      * 胶囊

      * 特定于端口的更改：Windows

      * 特定于端口的更改：Mac OS X

      * 特定于 FreeBSD 的更改：

    * Other Changes and Fixes

    * 移植到 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

    * 开发过程的变化

      * New Issue Tracker: Roundup

      * 新的文档格式：使用 Sphinx 的 reStructuredText

    * PEP 343: "with" 语句

      * Writing Context Managers

      * 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" 语句

      * Writing Context Managers

      * 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: Simpler String Substitutions

    * PEP 318: Decorators for Functions and Methods

    * 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: A Standard Set Datatype

    * PEP 255: Simple Generators

    * PEP 263: Source Code Encodings

    * PEP 273: 从ZIP压缩包导入模块

    * PEP 277: Unicode file name support for Windows NT

    * PEP 278: 通用换行支持

    * PEP 279: enumerate()

    * PEP 282: logging 包

    * PEP 285: 布尔类型

    * PEP 293: Codec Error Handling Callbacks

    * PEP 301: Distutils的软件包索引和元数据

    * PEP 302: New Import Hooks

    * PEP 305: 逗号分隔文件

    * PEP 307: Pickle Enhancements

    * 扩展切片

    * 其他语言特性修改

      * String Changes

      * 性能优化

    * 新增，改进和弃用的模块

      * Date/Time 类型

      * optparse 模块

    * Pymalloc: A Specialized Object Allocator

    * 构建和 C API 的改变

      * Port-Specific Changes

    * Other Changes and Fixes

    * 移植到 Python 2.3

    * 致谢

  * Python 2.2 有什么新变化

    * 概述

    * PEPs 252 and 253: Type and Class Changes

      * Old and New Classes

      * Descriptors

      * Multiple Inheritance: The Diamond Rule

      * Attribute Access

      * Related Links

    * PEP 234: Iterators

    * PEP 255: Simple Generators

    * PEP 237: 统一长整数和整数

    * PEP 238: Changing the Division Operator

    * Unicode Changes

    * PEP 227: Nested Scopes

    * 新增和改进的模块

    * Interpreter Changes and Fixes

    * Other Changes and Fixes

    * 致谢

  * Python 2.1 有什么新变化

    * 概述

    * PEP 227: Nested Scopes

    * PEP 236: __future__ Directives

    * PEP 207: Rich Comparisons

    * PEP 230: Warning Framework

    * PEP 229: New Build System

    * PEP 205: Weak References

    * PEP 232: Function Attributes

    * PEP 235: Importing Modules on Case-Insensitive Platforms

    * PEP 217: Interactive Display Hook

    * PEP 208: New Coercion Model

    * PEP 241: Metadata in Python Packages

    * 新增和改进的模块

    * Other Changes and Fixes

    * 致谢

  * Python 2.0 有什么新变化

    * 概述

    * What About Python 1.6?

    * 新开发流程

    * Unicode

    * 列表推导式

    * Augmented Assignment

    * 字符串的方法

    * Garbage Collection of Cycles

    * 其他核心变化

      * Minor Language Changes

      * Changes to Built-in Functions

    * 移植 Python 2.0

    * 扩展/嵌入更改

    * Distutils：使模块易于安装

    * XML 模块

      * SAX2 Support

      * DOM Support

      * Relationship to PyXML

    * 模块更改

    * 新增模块

    * IDLE 改进

    * 删除和弃用的模块

    * 致谢

  * 更新日志

    * Python 3.6.15 final

      * 安全

      * 库

      * 测试

    * Python 3.6.14 final

      * 安全

    * Python 3.6.13 final

      * 安全

      * 核心与内置

      * 库

      * 测试

    * Python 3.6.12 final

      * 安全

      * 库

    * Python 3.6.11 final

    * Python 3.6.11 release candidate 1

      * 安全

      * 核心与内置

      * 库

    * Python 3.6.10 final

      * macOS

    * Python 3.6.10 release candidate 1

      * 安全

      * 库

    * Python 3.6.9 final

      * 库

      * macOS

    * Python 3.6.9 release candidate 1

      * 安全

      * 库

      * 文档

      * 测试

      * macOS

    * Python 3.6.8 final

      * 库

      * 构建

      * C API

    * Python 3.6.8 release candidate 1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

    * Python 3.6.7 final

    * Python 3.6.7 release candidate 2

      * 核心与内置

      * 库

      * 文档

      * 测试

      * macOS

      * C API

    * Python 3.6.7 release candidate 1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.6 正式版

    * Python 3.6.6 RC 1

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.5 正式版

      * 测试

      * 构建

    * Python 3.6.5 rc1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.4 正式版

    * Python 3.6.4 rc1

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.3 正式版

      * 库

      * 构建

    * Python 3.6.3 rc1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * IDLE

      * 工具/示例

    * Python 3.6.2 正式版

    * Python 3.6.2 rc2

      * 安全

    * Python 3.6.2 rc1

      * 核心与内置

      * 库

      * 安全

      * 库

      * IDLE

      * C API

      * 构建

      * 文档

      * 工具/示例

      * 测试

      * Windows

    * Python 3.6.1 正式版

      * 核心与内置

      * 构建

    * Python 3.6.1 rc1

      * 核心与内置

      * 库

      * IDLE

      * Windows

      * C API

      * 文档

      * 测试

      * 构建

    * Python 3.6.0 正式版

    * Python 3.6.0 rc2

      * 核心与内置

      * 工具/示例

      * Windows

      * 构建

    * Python 3.6.0 rc1

      * 核心与内置

      * 库

      * C API

      * 文档

      * 工具/示例

    * Python 3.6.0 beta 4

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

    * Python 3.6.0 beta 3

      * 核心与内置

      * 库

      * Windows

      * 构建

      * 测试

    * Python 3.6.0 beta 2

      * 核心与内置

      * 库

      * Windows

      * C API

      * 构建

      * 测试

    * Python 3.6.0 beta 1

      * 核心与内置

      * 库

      * IDLE

      * C API

      * 测试

      * 构建

      * 工具/示例

      * Windows

    * Python 3.6.0 alpha 4

      * 核心与内置

      * 库

      * IDLE

      * 测试

      * Windows

      * 构建

    * Python 3.6.0 alpha 3

      * 核心与内置

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * C API

      * 构建

      * 工具/示例

      * 文档

      * 测试

    * Python 3.6.0 alpha 2

      * 核心与内置

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * 文档

      * 测试

      * Windows

      * 构建

      * Windows

      * C API

      * 工具/示例

    * Python 3.6.0 alpha 1

      * 核心与内置

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * 文档

      * 测试

      * 构建

      * Windows

      * 工具/示例

      * C API

    * Python 3.5.3 正式版

    * Python 3.5.3 rc1

      * 核心与内置

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * C API

      * 文档

      * 测试

      * 工具/示例

      * Windows

      * 构建

    * Python 3.5.2 正式版

      * 核心与内置

      * 测试

      * IDLE

    * Python 3.5.2 rc1

      * 核心与内置

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * 文档

      * 测试

      * 构建

      * Windows

      * 工具/示例

      * Windows

    * Python 3.5.1 正式版

      * 核心与内置

      * Windows

    * Python 3.5.1 rc1

      * 核心与内置

      * 库

      * IDLE

      * 文档

      * 测试

      * 构建

      * Windows

      * 工具/示例

    * Python 3.5.0 正式版

      * 构建

    * Python 3.5.0 rc4

      * 库

      * 构建

    * Python 3.5.0 rc3

      * 核心与内置

      * 库

    * Python 3.5.0 rc2

      * 核心与内置

      * 库

    * Python 3.5.0 rc1

      * 核心与内置

      * 库

      * IDLE

      * 文档

      * 测试

    * Python 3.5.0 beta 4

      * 核心与内置

      * 库

      * 构建

    * Python 3.5.0 beta 3

      * 核心与内置

      * 库

      * 测试

      * 文档

      * 构建

    * Python 3.5.0 beta 2

      * 核心与内置

      * 库

    * Python 3.5.0 beta 1

      * 核心与内置

      * 库

      * IDLE

      * 测试

      * 文档

      * 工具/示例

    * Python 3.5.0 alpha 4

      * 核心与内置

      * 库

      * 构建

      * 测试

      * 工具/示例

      * C API

    * Python 3.5.0 alpha 3

      * 核心与内置

      * 库

      * 构建

      * 测试

      * 工具/示例

    * Python 3.5.0 alpha 2

      * 核心与内置

      * 库

      * 构建

      * C API

      * Windows

    * Python 3.5.0 alpha 1

      * 核心与内置

      * 库

      * IDLE

      * 构建

      * C API

      * 文档

      * 测试

      * 工具/示例

      * Windows

* Python 教程

  * 1. 课前甜点

  * 2. 使用 Python 解释器

    * 2.1. 调用解释器

      * 2.1.1. 传入参数

      * 2.1.2. 交互模式

    * 2.2. 解释器的运行环境

      * 2.2.1. 源文件的字符编码

  * 3. Python 的非正式介绍

    * 3.1. Python 作为计算器使用

      * 3.1.1. 数字

      * 3.1.2. 字符串

      * 3.1.3. 列表

    * 3.2. 走向编程的第一步

  * 4. 其他流程控制工具

    * 4.1. "if" Statements

    * 4.2. "for" Statements

    * 4.3. "range()" 函数

    * 4.4. "break" and "continue" Statements, and "else" Clauses on
      Loops

    * 4.5. "pass" Statements

    * 4.6. 定义函数

    * 4.7. 函数定义的更多形式

      * 4.7.1. 参数默认值

      * 4.7.2. 关键字参数

      * 4.7.3. 任意的参数列表

      * 4.7.4. 解包参数列表

      * 4.7.5. Lambda 表达式

      * 4.7.6. 文档字符串

      * 4.7.7. 函数标注

    * 4.8. 小插曲：编码风格

  * 5. 数据结构

    * 5.1. 列表的更多特性

      * 5.1.1. 列表作为栈使用

      * 5.1.2. 列表作为队列使用

      * 5.1.3. 列表推导式

      * 5.1.4. 嵌套的列表推导式

    * 5.2. The "del" statement

    * 5.3. 元组和序列

    * 5.4. 集合

    * 5.5. 字典

    * 5.6. 循环的技巧

    * 5.7. 深入条件控制

    * 5.8. 比较序列和其他类型

  * 6. 模块

    * 6.1. 更多有关模块的信息

      * 6.1.1. 以脚本的方式执行模块

      * 6.1.2. 模块搜索路径

      * 6.1.3. “编译过的”Python文件

    * 6.2. 标准模块

    * 6.3. "dir()" 函数

    * 6.4. 包

      * 6.4.1. 从包中导入 *

      * 6.4.2. 子包参考

      * 6.4.3. 多个目录中的包

  * 7. 输入输出

    * 7.1. 更漂亮的输出格式

      * 7.1.1. 旧的字符串格式化方法

    * 7.2. 读写文件

      * 7.2.1. 文件对象的方法

      * 7.2.2. 使用 "json" 保存结构化数据

  * 8. 错误和异常

    * 8.1. 语法错误

    * 8.2. 异常

    * 8.3. 处理异常

    * 8.4. 抛出异常

    * 8.5. 用户自定义异常

    * 8.6. 定义清理操作

    * 8.7. 预定义的清理操作

  * 9. 类

    * 9.1. 名称和对象

    * 9.2. Python 作用域和命名空间

      * 9.2.1. 作用域和命名空间示例

    * 9.3. 初探类

      * 9.3.1. 类定义语法

      * 9.3.2. 类对象

      * 9.3.3. 实例对象

      * 9.3.4. 方法对象

      * 9.3.5. 类和实例变量

    * 9.4. 补充说明

    * 9.5. 继承

      * 9.5.1. 多重继承

    * 9.6. 私有变量

    * 9.7. 杂项说明

    * 9.8. 迭代器

    * 9.9. 生成器

    * 9.10. 生成器表达式

  * 10. 标准库简介

    * 10.1. 操作系统接口

    * 10.2. 文件通配符

    * 10.3. 命令行参数

    * 10.4. 错误输出重定向和程序终止

    * 10.5. 字符串模式匹配

    * 10.6. 数学

    * 10.7. 互联网访问

    * 10.8. 日期和时间

    * 10.9. 数据压缩

    * 10.10. 性能测量

    * 10.11. 质量控制

    * 10.12. 自带电池

  * 11. 标准库简介 —— 第二部分

    * 11.1. 格式化输出

    * 11.2. 模板

    * 11.3. 使用二进制数据记录格式

    * 11.4. 多线程

    * 11.5. 日志记录

    * 11.6. 弱引用

    * 11.7. 用于操作列表的工具

    * 11.8. 十进制浮点运算

  * 12. 虚拟环境和包

    * 12.1. 概述

    * 12.2. 创建虚拟环境

    * 12.3. 使用pip管理包

  * 13. 接下来？

  * 14. 交互式编辑和编辑历史

    * 14.1. Tab 补全和编辑历史

    * 14.2. 默认交互式解释器的替代品

  * 15. 浮点算术：争议和限制

    * 15.1. 表示性错误

  * 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. Editors and IDEs

  * 3. 在Windows上使用 Python

    * 3.1. Installing Python

      * 3.1.1. Supported Versions

      * 3.1.2. Installation Steps

      * 3.1.3. 删除 MAX_PATH 限制

      * 3.1.4. 无UI 安装

      * 3.1.5. 免下载安装

      * 3.1.6. 修改安装

      * 3.1.7. 其他平台

    * 3.2. 替代捆绑包

    * 3.3. 配置Python

      * 3.3.1. 附录：设置环境变量

      * 3.3.2. 查找Python可执行文件

    * 3.4. 适用于Windows的Python启动器

      * 3.4.1. 入门

        * 3.4.1.1. 从命令行

        * 3.4.1.2. 从虚拟环境

        * 3.4.1.3. 从脚本

        * 3.4.1.4. 从文件关联

      * 3.4.2. Shebang Lines

      * 3.4.3. shebang lines 的参数

      * 3.4.4. 自定义

        * 3.4.4.1. 通过INI文件自定义

        * 3.4.4.2. 自定义默认的Python版本

      * 3.4.5. 诊断

    * 3.5. 查找模块

    * 3.6. 附加模块

      * 3.6.1. PyWin32

      * 3.6.2. cx_Freeze

      * 3.6.3. WConio

    * 3.7. 在Windows上编译Python

    * 3.8. Embedded Distribution

      * 3.8.1. Python应用程序

      * 3.8.2. 嵌入Python

    * 3.9. Other resources

  * 4. 在苹果系统上使用 Python

    * 4.1. 获取和安装 MacPython

      * 4.1.1. 如何运行 Python 脚本

      * 4.1.2. 运行有图形界面的脚本

      * 4.1.3. 配置

    * 4.2. IDE

    * 4.3. 安装额外的 Python 包

    * 4.4. Mac 上的图形界面编程

    * 4.5. 在 Mac 上分发 Python 应用程序

    * 4.6. 其他资源

* 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.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. 确定适当的元类

        * 3.3.3.3. 准备类命名空间

        * 3.3.3.4. 执行类主体

        * 3.3.3.5. 创建类对象

        * 3.3.3.6. 元类的作用

      * 3.3.4. 自定义实例及子类检查

      * 3.3.5. 模拟可调用对象

      * 3.3.6. 模拟容器类型

      * 3.3.7. 模拟数字类型

      * 3.3.8. with 语句上下文管理器

      * 3.3.9. 特殊方法查找

    * 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.5. 基于路径的查找器

      * 5.5.1. 路径条目查找器

      * 5.5.2. 路径条目查找器协议

    * 5.6. 替换标准导入系统

    * 5.7. 有关 __main__ 的特殊事项

      * 5.7.1. __main__.__spec__

    * 5.8. 开放问题项

    * 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. lambda 表达式

    * 6.14. 表达式列表

    * 6.15. 求值顺序

    * 6.16. 运算符优先级

  * 7. 简单语句

    * 7.1. 表达式语句

    * 7.2. 赋值语句

      * 7.2.1. 增强赋值语句

      * 7.2.2. 带标注的赋值语句

    * 7.3. The "assert" statement

    * 7.4. The "pass" statement

    * 7.5. The "del" statement

    * 7.6. The "return" statement

    * 7.7. The "yield" statement

    * 7.8. The "raise" statement

    * 7.9. The "break" statement

    * 7.10. The "continue" statement

    * 7.11. The "import" statement

      * 7.11.1. future 语句

    * 7.12. The "global" statement

    * 7.13. The "nonlocal" statement

  * 8. 复合语句

    * 8.1. The "if" statement

    * 8.2. The "while" statement

    * 8.3. The "for" statement

    * 8.4. The "try" statement

    * 8.5. The "with" statement

    * 8.6. 函数定义

    * 8.7. 类定义

    * 8.8. 协程

      * 8.8.1. 协程函数定义

      * 8.8.2. The "async for" statement

      * 8.8.3. The "async with" statement

  * 9. 最高层级组件

    * 9.1. 完整的 Python 程序

    * 9.2. 文件输入

    * 9.3. 交互式输入

    * 9.4. 表达式输入

  * 10. 完整的语法规范

* Python 标准库

  * 1. 概述

  * 2. 内置函数

  * 3. 内置常量

    * 3.1. 由 "site" 模块添加的常量

  * 4. 内置类型

    * 4.1. 逻辑值检测

    * 4.2. Boolean Operations --- "and", "or", "not"

    * 4.3. 比较运算

    * 4.4. 数字类型 --- "int", "float", "complex"

      * 4.4.1. 整数类型的按位运算

      * 4.4.2. 整数类型的附加方法

      * 4.4.3. 浮点类型的附加方法

      * 4.4.4. 数字类型的哈希运算

    * 4.5. 迭代器类型

      * 4.5.1. 生成器类型

    * 4.6. 序列类型 --- "list", "tuple", "range"

      * 4.6.1. 通用序列操作

      * 4.6.2. 不可变序列类型

      * 4.6.3. 可变序列类型

      * 4.6.4. 列表

      * 4.6.5. 元组

      * 4.6.6. range 对象

    * 4.7. 文本序列类型 --- "str"

      * 4.7.1. 字符串的方法

      * 4.7.2. "printf" 风格的字符串格式化

    * 4.8. 二进制序列类型 --- "bytes", "bytearray", "memoryview"

      * 4.8.1. bytes 对象

      * 4.8.2. bytearray 对象

      * 4.8.3. bytes 和 bytearray 操作

      * 4.8.4. "printf" 风格的字节串格式化

      * 4.8.5. 内存视图

    * 4.9. 集合类型 --- "set", "frozenset"

    * 4.10. 映射类型 --- "dict"

      * 4.10.1. 字典视图对象

    * 4.11. 上下文管理器类型

    * 4.12. 其他内置类型

      * 4.12.1. 模块

      * 4.12.2. 类与类实例

      * 4.12.3. 函数

      * 4.12.4. 方法

      * 4.12.5. 代码对象

      * 4.12.6. 类型对象

      * 4.12.7. 空对象

      * 4.12.8. 省略符对象

      * 4.12.9. 未实现对象

      * 4.12.10. 布尔值

      * 4.12.11. 内部对象

    * 4.13. 特殊属性

  * 5. 内置异常

    * 5.1. 基类

    * 5.2. 具体异常

      * 5.2.1. OS 异常

    * 5.3. 警告

    * 5.4. 异常层次结构

  * 6. 文本处理服务

    * 6.1. "string" --- 常见的字符串操作

      * 6.1.1. 字符串常量

      * 6.1.2. 自定义字符串格式化

      * 6.1.3. 格式字符串语法

        * 6.1.3.1. 格式规格迷你语言

        * 6.1.3.2. 格式示例

      * 6.1.4. 模板字符串

      * 6.1.5. 辅助函数

    * 6.2. "re" --- 正则表达式操作

      * 6.2.1. 正则表达式语法

      * 6.2.2. 模块内容

      * 6.2.3. 正则表达式对象 （正则对象）

      * 6.2.4. 匹配对象

      * 6.2.5. 正则表达式例子

        * 6.2.5.1. 检查对子

        * 6.2.5.2. 模拟 scanf()

        * 6.2.5.3. search() vs. match()

        * 6.2.5.4. 建立一个电话本

        * 6.2.5.5. 文字整理

        * 6.2.5.6. 找到所有副词

        * 6.2.5.7. 找到所有副词和位置

        * 6.2.5.8. 原始字符记法

        * 6.2.5.9. 写一个词法分析器

    * 6.3. "difflib" --- 计算差异的辅助工具

      * 6.3.1. SequenceMatcher 对象

      * 6.3.2. SequenceMatcher 的示例

      * 6.3.3. Differ 对象

      * 6.3.4. Differ 示例

      * 6.3.5. difflib 的命令行接口

    * 6.4. "textwrap" --- 文本自动换行与填充

    * 6.5. "unicodedata" --- Unicode 数据库

    * 6.6. "stringprep" --- 因特网字符串预备

    * 6.7. "readline" --- GNU readline 接口

      * 6.7.1. 初始化文件

      * 6.7.2. 行缓冲区

      * 6.7.3. 历史文件

      * 6.7.4. 历史列表

      * 6.7.5. 启动钩子

      * 6.7.6. Completion

      * 6.7.7. 示例

    * 6.8. "rlcompleter" --- GNU readline 的补全函数

      * 6.8.1. Completer 对象

  * 7. 二进制数据服务

    * 7.1. "struct" --- 将字节串解读为打包的二进制数据

      * 7.1.1. 函数和异常

      * 7.1.2. 格式字符串

        * 7.1.2.1. 字节顺序，大小和对齐方式

        * 7.1.2.2. 格式字符

        * 7.1.2.3. 例子

      * 7.1.3. 类

    * 7.2. "codecs" --- 编解码器注册和相关基类

      * 7.2.1. 编解码器基类

        * 7.2.1.1. 错误处理方案

        * 7.2.1.2. 无状态的编码和解码

        * 7.2.1.3. 增量式的编码和解码

          * 7.2.1.3.1. IncrementalEncoder 对象

          * 7.2.1.3.2. IncrementalDecoder 对象

        * 7.2.1.4. 流式的编码和解码

          * 7.2.1.4.1. StreamWriter 对象

          * 7.2.1.4.2. StreamReader 对象

          * 7.2.1.4.3. StreamReaderWriter 对象

          * 7.2.1.4.4. StreamRecoder 对象

      * 7.2.2. 编码格式与 Unicode

      * 7.2.3. 标准编码

      * 7.2.4. Python 专属的编码格式

        * 7.2.4.1. 文字编码

        * 7.2.4.2. 二进制转换

        * 7.2.4.3. 文字转换

      * 7.2.5. "encodings.idna" --- 应用程序中的国际化域名

      * 7.2.6. "encodings.mbcs" --- Windows ANSI代码页

      * 7.2.7. "encodings.utf_8_sig" --- 带BOM签名的UTF-8编解码器

  * 8. 数据类型

    * 8.1. "datetime" --- 基本的日期和时间类型

      * 8.1.1. 有效的类型

      * 8.1.2. "timedelta" 类对象

      * 8.1.3. "date" 对象

      * 8.1.4. "datetime" 对象

      * 8.1.5. "time" 对象

      * 8.1.6. "tzinfo" 对象

      * 8.1.7. "timezone" 对象

      * 8.1.8. "strftime()" 和 "strptime()" 的行为

    * 8.2. "calendar" --- 日历相关函数

    * 8.3. "collections" --- 容器数据类型

      * 8.3.1. "ChainMap" 对象

        * 8.3.1.1. "ChainMap" 例子和方法

      * 8.3.2. "Counter" 对象

      * 8.3.3. "deque" 对象

        * 8.3.3.1. "deque" 用法

      * 8.3.4. "defaultdict" 对象

        * 8.3.4.1. "defaultdict" 例子

      * 8.3.5. "namedtuple()" 命名元组的工厂函数

      * 8.3.6. "OrderedDict" 对象

        * 8.3.6.1. "OrderedDict" 例子和用法

      * 8.3.7. "UserDict" 对象

      * 8.3.8. "UserList" 对象

      * 8.3.9. "UserString" 对象

    * 8.4. "collections.abc" --- 容器的抽象基类

      * 8.4.1. 容器抽象基类

    * 8.5. "heapq" --- 堆队列算法

      * 8.5.1. 基本示例

      * 8.5.2. 优先队列实现说明

      * 8.5.3. 理论

    * 8.6. "bisect" --- 数组二分查找算法

      * 8.6.1. 搜索有序列表

      * 8.6.2. 其他示例

    * 8.7. "array" --- 高效的数值数组

    * 8.8. "weakref" --- 弱引用

      * 8.8.1. 弱引用对象

      * 8.8.2. 示例

      * 8.8.3. 终结器对象

      * 8.8.4. 比较终结器与 "__del__()" 方法

    * 8.9. "types" --- 动态类型创建和内置类型名称

      * 8.9.1. 动态类型创建

      * 8.9.2. 标准解释器类型

      * 8.9.3. 附加工具类和函数

      * 8.9.4. 协程工具函数

    * 8.10. "copy" --- 浅层 (shallow) 和深层 (deep) 复制操作

    * 8.11. "pprint" --- 数据美化输出

      * 8.11.1. PrettyPrinter 对象

      * 8.11.2. 示例

    * 8.12. "reprlib" --- 另一种 "repr()" 实现

      * 8.12.1. Repr 对象

      * 8.12.2. 子类化 Repr 对象

    * 8.13. "enum" --- 枚举类型支持

      * 8.13.1. 模块内容

      * 8.13.2. 创建一个 Enum

      * 8.13.3. 对枚举成员及其属性的程序化访问

      * 8.13.4. 复制枚举成员和值

      * 8.13.5. 确保唯一的枚举值

      * 8.13.6. 使用自动设定的值

      * 8.13.7. 迭代

      * 8.13.8. 比较运算

      * 8.13.9. 允许的枚举成员和属性

      * 8.13.10. Restricted subclassing of enumerations

      * 8.13.11. 封存

      * 8.13.12. 可用 API

      * 8.13.13. 派生的枚举

        * 8.13.13.1. IntEnum

        * 8.13.13.2. IntFlag

        * 8.13.13.3. 标志

        * 8.13.13.4. 其他事项

      * 8.13.14. 有趣的示例

        * 8.13.14.1. 省略值

          * 8.13.14.1.1. 使用 "auto"

          * 8.13.14.1.2. 使用 "object"

          * 8.13.14.1.3. 使用描述性字符串

          * 8.13.14.1.4. 使用自定义的 "__new__()"

        * 8.13.14.2. OrderedEnum

        * 8.13.14.3. DuplicateFreeEnum

        * 8.13.14.4. Planet

      * 8.13.15. 各种枚举有何区别？

        * 8.13.15.1. 枚举类

        * 8.13.15.2. 枚举成员（即实例）

        * 8.13.15.3. 细节要点

          * 8.13.15.3.1. 支持 "__dunder__" 名称

          * 8.13.15.3.2. 支持的 "_sunder_" 名称

          * 8.13.15.3.3. "Enum" 成员类型

          * 8.13.15.3.4. "Enum" 类和成员的布尔值

          * 8.13.15.3.5. 带有方法的 "Enum" 类

          * 8.13.15.3.6. 组合 "Flag" 的成员

  * 9. 数字和数学模块

    * 9.1. "numbers" --- 数字的抽象基类

      * 9.1.1. 数字的层次

      * 9.1.2. 类型接口注释。

        * 9.1.2.1. 加入更多数字的ABC

        * 9.1.2.2. 实现算术运算

    * 9.2. "math" --- 数学函数

      * 9.2.1. 数论与表示函数

      * 9.2.2. 幂函数与对数函数

      * 9.2.3. 三角函数

      * 9.2.4. 角度转换

      * 9.2.5. 双曲函数

      * 9.2.6. 特殊函数

      * 9.2.7. 常量

    * 9.3. "cmath" ——关于复数的数学函数

      * 9.3.1. 到极坐标和从极坐标的转换

      * 9.3.2. 幂函数与对数函数

      * 9.3.3. 三角函数

      * 9.3.4. 双曲函数

      * 9.3.5. 分类函数

      * 9.3.6. 常量

    * 9.4. "decimal" --- 十进制定点和浮点运算

      * 9.4.1. 快速入门教程

      * 9.4.2. Decimal 对象

        * 9.4.2.1. 逻辑操作数

      * 9.4.3. Context 对象

      * 9.4.4. 常量

      * 9.4.5. 舍入模式

      * 9.4.6. 信号

      * 9.4.7. 浮点数说明

        * 9.4.7.1. 通过提升精度来缓解舍入误差

        * 9.4.7.2. 特殊的值

      * 9.4.8. 使用线程

      * 9.4.9. 例程

      * 9.4.10. Decimal FAQ

    * 9.5. "fractions" --- 分数

    * 9.6. "random" --- 生成伪随机数

      * 9.6.1. 簿记功能

      * 9.6.2. 整数用函数

      * 9.6.3. 序列用函数

      * 9.6.4. 实值分布

      * 9.6.5. 替代生成器

      * 9.6.6. 关于再现性的说明

      * 9.6.7. 例子和配方

    * 9.7. "statistics" --- 数学统计函数

      * 9.7.1. 平均值以及对中心位置的评估

      * 9.7.2. 对分散程度的评估

      * 9.7.3. 函数细节

      * 9.7.4. 异常

  * 10. 函数式编程模块

    * 10.1. "itertools" --- 为高效循环而创建迭代器的函数

      * 10.1.1. Itertool函数

      * 10.1.2. Itertools食谱

    * 10.2. "functools" --- 高阶函数和可调用对象上的操作

      * 10.2.1. "partial" 对象

    * 10.3. "operator" --- 标准运算符替代函数

      * 10.3.1. 将运算符映射到函数

      * 10.3.2. Inplace Operators

  * 11. 文件和目录访问

    * 11.1. "pathlib" --- 面向对象的文件系统路径

      * 11.1.1. 基础使用

      * 11.1.2. 纯路径

        * 11.1.2.1. 通用性质

        * 11.1.2.2. 运算符

        * 11.1.2.3. 访问个别部分

        * 11.1.2.4. 方法和特征属性

      * 11.1.3. 具体路径

        * 11.1.3.1. 方法

    * 11.2. "os.path" --- 常见路径操作

    * 11.3. "fileinput" --- 迭代来自多个输入流的行

    * 11.4. "stat" --- 解析 "stat()" 结果

    * 11.5. "filecmp" --- 文件及目录的比较

      * 11.5.1. "dircmp" 类

    * 11.6. "tempfile" --- 生成临时文件和目录

      * 11.6.1. 例子

      * 11.6.2. 已弃用的函数和变量

    * 11.7. "glob" --- Unix 风格路径名模式扩展

    * 11.8. "fnmatch" --- Unix 文件名模式匹配

    * 11.9. "linecache" --- 随机读写文本行

    * 11.10. "shutil" --- 高阶文件操作

      * 11.10.1. 目录和文件操作

        * 11.10.1.1. copytree 示例

        * 11.10.1.2. rmtree 示例

      * 11.10.2. 归档操作

        * 11.10.2.1. 归档程序示例

      * 11.10.3. 查询输出终端的尺寸

    * 11.11. "macpath" --- Mac OS 9 路径操作函数

  * 12. 数据持久化

    * 12.1. "pickle" —— Python 对象序列化

      * 12.1.1. 与其他 Python 模块间的关系

        * 12.1.1.1. 与 "marshal" 间的关系

        * 12.1.1.2. 与 "json" 模块的比较

      * 12.1.2. 数据流格式

      * 12.1.3. 模块接口

      * 12.1.4. 可以被打包/解包的对象

      * 12.1.5. 打包类实例

        * 12.1.5.1. 持久化外部对象

        * 12.1.5.2. Dispatch 表

        * 12.1.5.3. 处理有状态的对象

      * 12.1.6. 限制全局变量

      * 12.1.7. 性能

      * 12.1.8. 例子

    * 12.2. "copyreg" --- 注意 "pickle" 支持函数

      * 12.2.1. 示例

    * 12.3. "shelve" --- Python 对象持久化

      * 12.3.1. 限制

      * 12.3.2. 示例

    * 12.4. "marshal" --- 内部 Python 对象序列化

    * 12.5. "dbm" --- Unix "数据库" 接口

      * 12.5.1. "dbm.gnu" --- GNU 对 dbm 的重解析

      * 12.5.2. "dbm.ndbm" --- 基于 ndbm 的接口

      * 12.5.3. "dbm.dumb" --- 便携式 DBM 实现

    * 12.6. "sqlite3" --- SQLite 数据库 DB-API 2.0 接口模块

      * 12.6.1. 模块函数和常量

      * 12.6.2. 连接对象（Connection）

      * 12.6.3. Cursor 对象

      * 12.6.4. 行对象*Row*

      * 12.6.5. 异常

      * 12.6.6. SQLite 与 Python 类型

        * 12.6.6.1. 概述

        * 12.6.6.2. 使用适配器将额外的 Python 类型保存在 SQLite 数据库
          中。

          * 12.6.6.2.1. 让对象自行调整

          * 12.6.6.2.2. 注册可调用的适配器

        * 12.6.6.3. 将SQLite 值转换为自定义Python 类型

        * 12.6.6.4. 默认适配器和转换器

      * 12.6.7. 控制事务

      * 12.6.8. 有效使用 "sqlite3"

        * 12.6.8.1. 使用快捷方式

        * 12.6.8.2. 通过名称而不是索引访问索引

        * 12.6.8.3. 使用连接作为上下文管理器

      * 12.6.9. 常见问题

        * 12.6.9.1. 多线程

  * 13. 数据压缩和存档

    * 13.1. "zlib" --- 与 **gzip** 兼容的压缩

    * 13.2. "gzip" --- 对 **gzip** 格式的支持

      * 13.2.1. 用法示例

    * 13.3. "bz2" --- 对 **bzip2** 压缩算法的支持

      * 13.3.1. 文件压缩和解压

      * 13.3.2. 增量压缩和解压

      * 13.3.3. 一次性压缩或解压

    * 13.4. "lzma" --- 用 LZMA 算法压缩

      * 13.4.1. 读写压缩文件

      * 13.4.2. 在内存中压缩和解压缩数据

      * 13.4.3. 杂项

      * 13.4.4. 指定自定义的过滤器链

      * 13.4.5. 例子

    * 13.5. "zipfile" --- 使用ZIP存档

      * 13.5.1. ZipFile 对象

      * 13.5.2. PyZipFile 对象

      * 13.5.3. ZipInfo 对象

      * 13.5.4. 命令行界面

        * 13.5.4.1. 命令行选项

    * 13.6. "tarfile" --- 读写tar归档文件

      * 13.6.1. TarFile 对象

      * 13.6.2. TarInfo 对象

      * 13.6.3. 命令行界面

        * 13.6.3.1. 命令行选项

      * 13.6.4. 例子

      * 13.6.5. 受支持的 tar 格式

      * 13.6.6. Unicode 问题

  * 14. 文件格式

    * 14.1. "csv" --- CSV 文件读写

      * 14.1.1. 模块内容

      * 14.1.2. 变种与格式参数

      * 14.1.3. Reader 对象

      * 14.1.4. Writer 对象

      * 14.1.5. 例子

    * 14.2. "configparser" --- 配置文件解析器

      * 14.2.1. 快速起步

      * 14.2.2. 支持的数据类型

      * 14.2.3. 回退值

      * 14.2.4. 受支持的 INI 文件结构

      * 14.2.5. 值的插入

      * 14.2.6. 映射协议访问

      * 14.2.7. 定制解析器行为

      * 14.2.8. 旧式 API 示例

      * 14.2.9. ConfigParser 对象

      * 14.2.10. RawConfigParser 对象

      * 14.2.11. 异常

    * 14.3. "netrc" --- netrc 文件处理

      * 14.3.1. netrc 对象

    * 14.4. "xdrlib" --- 编码与解码 XDR 数据

      * 14.4.1. Packer 对象

      * 14.4.2. Unpacker 对象

      * 14.4.3. 异常

    * 14.5. "plistlib" --- 生成与解析 Mac OS X ".plist" 文件

      * 14.5.1. 例子

  * 15. 加密服务

    * 15.1. "hashlib" --- 安全哈希与消息摘要

      * 15.1.1. 哈希算法

      * 15.1.2. SHAKE 可变长度摘要

      * 15.1.3. 密钥派生

      * 15.1.4. BLAKE2

        * 15.1.4.1. 创建哈希对象

        * 15.1.4.2. 常量

        * 15.1.4.3. 例子

          * 15.1.4.3.1. 简单哈希

          * 15.1.4.3.2. 使用不同的摘要大小

          * 15.1.4.3.3. 密钥哈希

          * 15.1.4.3.4. 随机哈希

          * 15.1.4.3.5. 个性化

          * 15.1.4.3.6. 树形模式

        * 15.1.4.4. 开发人员

    * 15.2. "hmac" --- 基于密钥的消息验证

    * 15.3. "secrets" --- 生成安全随机数字用于管理密码

      * 15.3.1. 随机数

      * 15.3.2. 生成凭据

        * 15.3.2.1. 凭据应当使用多少个字节？

      * 15.3.3. 其他功能

      * 15.3.4. 应用技巧与最佳实践

  * 16. 通用操作系统服务

    * 16.1. "os" --- 操作系统接口模块

      * 16.1.1. 文件名，命令行参数，以及环境变量。

      * 16.1.2. 进程参数

      * 16.1.3. 创建文件对象

      * 16.1.4. 文件描述符操作

        * 16.1.4.1. 查询终端的尺寸

        * 16.1.4.2. 文件描述符的继承

      * 16.1.5. 文件和目录

        * 16.1.5.1. Linux 扩展属性

      * 16.1.6. 进程管理

      * 16.1.7. 调度器接口

      * 16.1.8. 其他系统信息

      * 16.1.9. 随机数

    * 16.2. "io" --- 处理流的核心工具

      * 16.2.1. 概述

        * 16.2.1.1. 文本 I/O

        * 16.2.1.2. 二进制 I/O

        * 16.2.1.3. 原始 I/O

      * 16.2.2. 高阶模块接口

        * 16.2.2.1. 内存中的流

      * 16.2.3. 类的层次结构

        * 16.2.3.1. I/O 基类

        * 16.2.3.2. 原始文件 I/O

        * 16.2.3.3. 缓冲流

        * 16.2.3.4. 文本 I/O

      * 16.2.4. 性能

        * 16.2.4.1. 二进制 I/O

        * 16.2.4.2. 文本 I/O

        * 16.2.4.3. 多线程

        * 16.2.4.4. 可重入性

    * 16.3. "time" --- 时间的访问和转换

      * 16.3.1. 函数

      * 16.3.2. Clock ID 常量

      * 16.3.3. 时区常量

    * 16.4. "argparse" --- 命令行选项、参数和子命令解析器

      * 16.4.1. 示例

        * 16.4.1.1. 创建一个解析器

        * 16.4.1.2. 添加参数

        * 16.4.1.3. 解析参数

      * 16.4.2. ArgumentParser 对象

        * 16.4.2.1. prog

        * 16.4.2.2. usage

        * 16.4.2.3. description

        * 16.4.2.4. epilog

        * 16.4.2.5. parents

        * 16.4.2.6. formatter_class

        * 16.4.2.7. prefix_chars

        * 16.4.2.8. fromfile_prefix_chars

        * 16.4.2.9. argument_default

        * 16.4.2.10. allow_abbrev

        * 16.4.2.11. conflict_handler

        * 16.4.2.12. add_help

      * 16.4.3. add_argument() 方法

        * 16.4.3.1. name or flags

        * 16.4.3.2. action

        * 16.4.3.3. nargs

        * 16.4.3.4. const

        * 16.4.3.5. 默认值

        * 16.4.3.6. type -- 类型

        * 16.4.3.7. choices

        * 16.4.3.8. required

        * 16.4.3.9. help

        * 16.4.3.10. metavar

        * 16.4.3.11. dest

        * 16.4.3.12. Action 类

      * 16.4.4. parse_args() 方法

        * 16.4.4.1. 选项值语法

        * 16.4.4.2. 无效的参数

        * 16.4.4.3. 包含 "-" 的参数

        * 16.4.4.4. 参数缩写（前缀匹配）

        * 16.4.4.5. 在 "sys.argv" 以外

        * 16.4.4.6. 命名空间对象

      * 16.4.5. 其它实用工具

        * 16.4.5.1. 子命令

        * 16.4.5.2. FileType 对象

        * 16.4.5.3. 参数组

        * 16.4.5.4. 互斥

        * 16.4.5.5. 解析器默认值

        * 16.4.5.6. 打印帮助

        * 16.4.5.7. 部分解析

        * 16.4.5.8. 自定义文件解析

        * 16.4.5.9. 退出方法

      * 16.4.6. 升级 optparse 代码

    * 16.5. "getopt" --- C 风格的命令行选项解析器

    * 16.6. 模块 "logging" --- Python 的日志记录工具

      * 16.6.1. Logger 对象

      * 16.6.2. 日志级别

      * 16.6.3. 处理器对象

      * 16.6.4. 格式器对象

      * 16.6.5. Filter 对象

      * 16.6.6. LogRecord 属性

      * 16.6.7. LogRecord 属性

      * 16.6.8. LoggerAdapter 对象

      * 16.6.9. 线程安全

      * 16.6.10. 模块级别函数

      * 16.6.11. 模块级属性

      * 16.6.12. 与警告模块集成

    * 16.7. "logging.config" --- 日志记录配置

      * 16.7.1. 配置函数

      * 16.7.2. 配置字典架构

        * 16.7.2.1. 字典架构细节

        * 16.7.2.2. 增量配置

        * 16.7.2.3. 对象连接

        * 16.7.2.4. 用户定义对象

        * 16.7.2.5. 访问外部对象

        * 16.7.2.6. 访问内部对象

        * 16.7.2.7. 导入解析与定制导入器

      * 16.7.3. 配置文件格式

    * 16.8. "logging.handlers" --- 日志处理

      * 16.8.1. StreamHandler

      * 16.8.2. FileHandler

      * 16.8.3. NullHandler

      * 16.8.4. WatchedFileHandler

      * 16.8.5. BaseRotatingHandler

      * 16.8.6. RotatingFileHandler

      * 16.8.7. TimedRotatingFileHandler

      * 16.8.8. SocketHandler

      * 16.8.9. DatagramHandler

      * 16.8.10. SysLogHandler

      * 16.8.11. NTEventLogHandler

      * 16.8.12. SMTPHandler

      * 16.8.13. MemoryHandler

      * 16.8.14. HTTPHandler

      * 16.8.15. QueueHandler

      * 16.8.16. QueueListener

    * 16.9. "getpass" --- 便携式密码输入工具

    * 16.10. "curses" --- 终端字符单元显示的处理

      * 16.10.1. 函数

      * 16.10.2. Window 对象

      * 16.10.3. 常量

    * 16.11. "curses.textpad" --- 用于 curses 程序的文本输入控件

      * 16.11.1. 文本框对象

    * 16.12. "curses.ascii" --- 用于 ASCII 字符的工具

    * 16.13. "curses.panel" --- curses 的 panel 栈扩展

      * 16.13.1. 函数

      * 16.13.2. Panel 对象

    * 16.14. "platform" ---  获取底层平台的标识数据

      * 16.14.1. 跨平台

      * 16.14.2. Java平台

      * 16.14.3. Windows平台

        * 16.14.3.1. Win95/98 specific

      * 16.14.4. Mac OS平台

      * 16.14.5. Unix 平台

    * 16.15. "errno" --- 标准 errno 系统符号

    * 16.16. "ctypes" --- Python 的外部函数库

      * 16.16.1. ctypes 教程

        * 16.16.1.1. 载入动态连接库

        * 16.16.1.2. 操作导入的动态链接库中的函数

        * 16.16.1.3. 调用函数

        * 16.16.1.4. 基础数据类型

        * 16.16.1.5. 调用函数，继续

        * 16.16.1.6. 使用自定义的数据类型调用函数

        * 16.16.1.7. 指定必选参数的类型(函数原型)

        * 16.16.1.8. 返回类型

        * 16.16.1.9. 传递指针(或者传递引用)

        * 16.16.1.10. 结构体和联合

        * 16.16.1.11. 结构体/联合 字段对齐及字节顺序

        * 16.16.1.12. 结构体和联合中的位域

        * 16.16.1.13. 数组

        * 16.16.1.14. 指针

        * 16.16.1.15. 类型强制转换

        * 16.16.1.16. 不完整类型

        * 16.16.1.17. 回调函数

        * 16.16.1.18. 访问 dll 中导出的值

        * 16.16.1.19. 意外

        * 16.16.1.20. 变长数据类型

      * 16.16.2. ctypes 参考手册

        * 16.16.2.1. 寻找动态链接库

        * 16.16.2.2. 加载动态链接库

        * 16.16.2.3. 外部函数

        * 16.16.2.4. 函数原型

        * 16.16.2.5. 工具函数

        * 16.16.2.6. 数据类型

        * 16.16.2.7. 基础数据类型

        * 16.16.2.8. 结构化数据类型

        * 16.16.2.9. 数组与指针

  * 17. 并发执行

    * 17.1. "threading" --- 基于线程的并行

      * 17.1.1. 线程本地数据

      * 17.1.2. 线程对象

      * 17.1.3. 锁对象

      * 17.1.4. 递归锁对象

      * 17.1.5. 条件对象

      * 17.1.6. 信号量对象

        * 17.1.6.1. "Semaphore" 例子

      * 17.1.7. 事件对象

      * 17.1.8. 定时器对象

      * 17.1.9. 栅栏对象

      * 17.1.10. Using locks, conditions, and semaphores in the "with"
        statement

    * 17.2. "multiprocessing" --- 基于进程的并行

      * 17.2.1. 概述

        * 17.2.1.1. "Process" 类

        * 17.2.1.2. 上下文和启动方法

        * 17.2.1.3. 在进程之间交换对象

        * 17.2.1.4. 进程之间的同步

        * 17.2.1.5. 在进程之间共享状态

        * 17.2.1.6. 使用工作进程

      * 17.2.2. 参考

        * 17.2.2.1. "Process" 和异常

        * 17.2.2.2. 管道和队列

        * 17.2.2.3. 杂项

        * 17.2.2.4. 连接对象（Connection）

        * 17.2.2.5. 同步原语

        * 17.2.2.6. 共享 "ctypes" 对象

          * 17.2.2.6.1. "multiprocessing.sharedctypes" 模块

        * 17.2.2.7. 数据管理器

          * 17.2.2.7.1. 自定义管理器

          * 17.2.2.7.2. 使用远程管理器

        * 17.2.2.8. 代理对象

          * 17.2.2.8.1. 清理

        * 17.2.2.9. 进程池

        * 17.2.2.10. 监听者及客户端

          * 17.2.2.10.1. 地址格式

        * 17.2.2.11. 认证密码

        * 17.2.2.12. 日志记录

        * 17.2.2.13. "multiprocessing.dummy" 模块

      * 17.2.3. 编程指导

        * 17.2.3.1. 所有启动方法

        * 17.2.3.2. *spawn* 和 *forkserver* 启动方式

      * 17.2.4. 例子

    * 17.3. "concurrent" 包

    * 17.4. "concurrent.futures" --- 启动并行任务

      * 17.4.1. Executor 对象

      * 17.4.2. ThreadPoolExecutor

        * 17.4.2.1. ThreadPoolExecutor 例子

      * 17.4.3. ProcessPoolExecutor

        * 17.4.3.1. ProcessPoolExecutor 例子

      * 17.4.4. Future 对象

      * 17.4.5. 模块函数

      * 17.4.6. Exception类

    * 17.5. "subprocess" --- 子进程管理

      * 17.5.1. 使用 "subprocess" 模块

        * 17.5.1.1. 常用参数

        * 17.5.1.2. Popen 构造函数

        * 17.5.1.3. 异常

      * 17.5.2. 安全考量

      * 17.5.3. Popen 对象

      * 17.5.4. Windows Popen 助手

        * 17.5.4.1. Constants

      * 17.5.5. 较旧的高阶 API

      * 17.5.6. 使用 "subprocess" 模块替换旧函数

        * 17.5.6.1. Replacing /bin/sh shell backquote

        * 17.5.6.2. 替代 shell 管道

        * 17.5.6.3. 替代 "os.system()"

        * 17.5.6.4. 替代 "os.spawn" 函数族

        * 17.5.6.5. 替代 "os.popen()", "os.popen2()", "os.popen3()"

        * 17.5.6.6. 来自 "popen2" 模块的替代函数

      * 17.5.7. 旧式的 Shell 发起函数

      * 17.5.8. 注释

        * 17.5.8.1. 在 Windows 上将参数列表转换为一个字符串

    * 17.6. "sched" --- 事件调度器

      * 17.6.1. 调度器对象

    * 17.7. "queue" --- 一个同步的队列类

      * 17.7.1. Queue对象

    * 17.8. "dummy_threading" ---  可直接替代 "threading" 模块。

    * 17.9. "_thread" --- 底层多线程 API

    * 17.10. "_dummy_thread" --- "_thread" 的替代模块

  * 18. Interprocess Communication and Networking

    * 18.1. "socket" --- 底层网络接口

      * 18.1.1. 套接字协议族

      * 18.1.2. 模块内容

        * 18.1.2.1. 异常

        * 18.1.2.2. 常量

        * 18.1.2.3. 函数

          * 18.1.2.3.1. 创建套接字

          * 18.1.2.3.2. 其他功能

      * 18.1.3. 套接字对象

      * 18.1.4. 关于套接字超时的说明

        * 18.1.4.1. 超时与 "connect" 方法

        * 18.1.4.2. 超时与 "accept" 方法

      * 18.1.5. 示例

    * 18.2. "ssl" --- 套接字对象的TLS/SSL封装

      * 18.2.1. 方法、常量和异常处理

        * 18.2.1.1. 套接字创建

        * 18.2.1.2. 上下文创建

        * 18.2.1.3. 随机生成

        * 18.2.1.4. 证书处理

        * 18.2.1.5. 常量

      * 18.2.2. SSL 套接字

      * 18.2.3. SSL 上下文

      * 18.2.4. 证书

        * 18.2.4.1. 证书链

        * 18.2.4.2. CA 证书

        * 18.2.4.3. 合并的密钥和证书

        * 18.2.4.4. 自签名证书

      * 18.2.5. 例子

        * 18.2.5.1. 检测 SSL 支持

        * 18.2.5.2. 客户端操作

        * 18.2.5.3. 服务器端操作

      * 18.2.6. 关于非阻塞套接字的说明

      * 18.2.7. 内存 BIO 支持

      * 18.2.8. SSL 会话

      * 18.2.9. 安全考量

        * 18.2.9.1. 最佳默认值

        * 18.2.9.2. 手动设置

          * 18.2.9.2.1. 验证证书

          * 18.2.9.2.2. 协议版本

          * 18.2.9.2.3. 密码选择

        * 18.2.9.3. 多进程

      * 18.2.10. LibreSSL 支持

    * 18.3. "select" --- Waiting for I/O 完成

      * 18.3.1. "/dev/poll" 轮询对象

      * 18.3.2. 边缘触发和水平触发的轮询 (epoll) 对象

      * 18.3.3. Poll 对象

      * 18.3.4. Kqueue 对象

      * 18.3.5. Kevent 对象

    * 18.4. "selectors" --- 高级 I/O 复用库

      * 18.4.1. 概述

      * 18.4.2. 类

      * 18.4.3. 例子

    * 18.5. "asyncio" --- Asynchronous I/O, event loop, coroutines and
      tasks

      * 18.5.1. Base Event Loop

        * 18.5.1.1. Run an event loop

        * 18.5.1.2. Calls

        * 18.5.1.3. Delayed calls

        * 18.5.1.4. Futures

        * 18.5.1.5. Tasks

        * 18.5.1.6. Creating connections

        * 18.5.1.7. Creating listening connections

        * 18.5.1.8. Watch file descriptors

        * 18.5.1.9. Low-level socket operations

        * 18.5.1.10. Resolve host name

        * 18.5.1.11. Connect pipes

        * 18.5.1.12. UNIX signals

        * 18.5.1.13. Executor

        * 18.5.1.14. 错误处理API

        * 18.5.1.15. Debug mode

        * 18.5.1.16. Server

        * 18.5.1.17. Handle

        * 18.5.1.18. Event loop examples

          * 18.5.1.18.1. call_soon() 的 Hello World 示例。

          * 18.5.1.18.2. 使用 call_later() 来展示当前的日期

          * 18.5.1.18.3. 监控一个文件描述符的读事件

          * 18.5.1.18.4. 为SIGINT和SIGTERM设置信号处理器

      * 18.5.2. 事件循环

        * 18.5.2.1. 事件循环函数

        * 18.5.2.2. 可用的事件循环

        * 18.5.2.3. 平台支持

          * 18.5.2.3.1. Windows

          * 18.5.2.3.2. Mac OS X

        * 18.5.2.4. 事件循环策略和默认策略

        * 18.5.2.5. 事件循环策略接口

        * 18.5.2.6. 访问全局循环策略

        * 18.5.2.7. 自定义事件循环策略

      * 18.5.3. Tasks and coroutines

        * 18.5.3.1. 协程

          * 18.5.3.1.1. Example: Hello World coroutine

          * 18.5.3.1.2. Example: Coroutine displaying the current date

          * 18.5.3.1.3. Example: Chain coroutines

        * 18.5.3.2. InvalidStateError

        * 18.5.3.3. TimeoutError

        * 18.5.3.4. Future

          * 18.5.3.4.1. Example: Future with run_until_complete()

          * 18.5.3.4.2. Example: Future with run_forever()

        * 18.5.3.5. Task

          * 18.5.3.5.1. Example: Parallel execution of tasks

        * 18.5.3.6. Task functions

      * 18.5.4. Transports and protocols (callback based API)

        * 18.5.4.1. 传输

          * 18.5.4.1.1. BaseTransport

          * 18.5.4.1.2. ReadTransport

          * 18.5.4.1.3. WriteTransport

          * 18.5.4.1.4. DatagramTransport

          * 18.5.4.1.5. BaseSubprocessTransport

        * 18.5.4.2. 协议

          * 18.5.4.2.1. Protocol classes

          * 18.5.4.2.2. Connection callbacks

          * 18.5.4.2.3. Streaming protocols

          * 18.5.4.2.4. Datagram protocols

          * 18.5.4.2.5. Flow control callbacks

          * 18.5.4.2.6. Coroutines and protocols

        * 18.5.4.3. Protocol examples

          * 18.5.4.3.1. TCP echo client protocol

          * 18.5.4.3.2. TCP echo server protocol

          * 18.5.4.3.3. UDP echo client protocol

          * 18.5.4.3.4. UDP echo server protocol

          * 18.5.4.3.5. Register an open socket to wait for data using
            a protocol

      * 18.5.5. Streams (coroutine based API)

        * 18.5.5.1. Stream functions

        * 18.5.5.2. StreamReader

        * 18.5.5.3. StreamWriter

        * 18.5.5.4. StreamReaderProtocol

        * 18.5.5.5. IncompleteReadError

        * 18.5.5.6. LimitOverrunError

        * 18.5.5.7. Stream examples

          * 18.5.5.7.1. 使用流的 TCP 回显客户端

          * 18.5.5.7.2. 使用流的 TCP 回显服务器

          * 18.5.5.7.3. 获取 HTTP 标头

          * 18.5.5.7.4. 注册一个打开的套接字以等待使用流的数据

      * 18.5.6. Subprocess

        * 18.5.6.1. Windows event loop

        * 18.5.6.2. Create a subprocess: high-level API using Process

        * 18.5.6.3. Create a subprocess: low-level API using
          subprocess.Popen

        * 18.5.6.4. 常量

        * 18.5.6.5. Process

        * 18.5.6.6. Subprocess and threads

        * 18.5.6.7. Subprocess examples

          * 18.5.6.7.1. Subprocess using transport and protocol

          * 18.5.6.7.2. Subprocess using streams

      * 18.5.7. Synchronization primitives

        * 18.5.7.1. Locks

          * 18.5.7.1.1. Lock

          * 18.5.7.1.2. Event

          * 18.5.7.1.3. Condition

        * 18.5.7.2. Semaphores

          * 18.5.7.2.1. Semaphore

          * 18.5.7.2.2. BoundedSemaphore

      * 18.5.8. 队列集

        * 18.5.8.1. 队列

        * 18.5.8.2. PriorityQueue

        * 18.5.8.3. LifoQueue

          * 18.5.8.3.1. 异常

      * 18.5.9. Develop with asyncio

        * 18.5.9.1. Debug mode of asyncio

        * 18.5.9.2. Cancellation

        * 18.5.9.3. Concurrency and multithreading

        * 18.5.9.4. Handle blocking functions correctly

        * 18.5.9.5. 日志记录

        * 18.5.9.6. Detect coroutine objects never scheduled

        * 18.5.9.7. Detect exceptions never consumed

        * 18.5.9.8. Chain coroutines correctly

        * 18.5.9.9. Pending task destroyed

        * 18.5.9.10. Close transports and event loops

    * 18.6. "asyncore" --- 异步socket处理器

      * 18.6.1. asyncore 示例基本 HTTP 客户端

      * 18.6.2. asyncore 示例基本回显服务器

    * 18.7. "asynchat" --- 异步 socket 指令/响应 处理器

      * 18.7.1. asynchat 示例

    * 18.8. "signal" --- 设置异步事件处理程序

      * 18.8.1. 一般规则

        * 18.8.1.1. 执行 Python 信号处理程序

        * 18.8.1.2. 信号与线程

      * 18.8.2. 模块内容

      * 18.8.3. 示例

    * 18.9. "mmap" --- 内存映射文件支持

  * 19. 互联网数据处理

    * 19.1. "email" --- 电子邮件与 MIME 处理包

      * 19.1.1. "email.message": 表示一封电子邮件信息

      * 19.1.2. "email.parser": 解析电子邮件信息

        * 19.1.2.1. FeedParser API

        * 19.1.2.2. Parser API

        * 19.1.2.3. 附加说明

      * 19.1.3. "email.generator": 生成 MIME 文档

      * 19.1.4. "email.policy": 策略对象

      * 19.1.5. "email.errors": 异常和缺陷类

      * 19.1.6. "email.headerregistry": 自定义标头对象

      * 19.1.7. "email.contentmanager": 管理 MIME 内容

        * 19.1.7.1. 内容管理器实例

      * 19.1.8. "email": 示例

      * 19.1.9. "email.message.Message": 使用 "compat32" API 来表示电
        子邮件消息

      * 19.1.10. "email.mime": 从头创建电子邮件和 MIME 对象

      * 19.1.11. "email.header": 国际化标头

      * 19.1.12. "email.charset": 表示字符集

      * 19.1.13. "email.encoders": 编码器

      * 19.1.14. "email.utils": 其他工具

      * 19.1.15. "email.iterators": 迭代器

    * 19.2. "json" --- JSON 编码和解码器

      * 19.2.1. 基本使用

      * 19.2.2. 编码器和解码器

      * 19.2.3. 异常

      * 19.2.4. 标准符合性和互操作性

        * 19.2.4.1. 字符编码

        * 19.2.4.2. Infinite 和 NaN 数值。

        * 19.2.4.3. 对象中的重复名称

        * 19.2.4.4. 顶级非对象，非数组值

        * 19.2.4.5. 实现限制

      * 19.2.5. 命令行界面

        * 19.2.5.1. 命令行选项

    * 19.3. "mailcap" --- Mailcap 文件处理

    * 19.4. "mailbox" --- 操作多种格式的邮箱

      * 19.4.1. "Mailbox" 对象

        * 19.4.1.1. "Maildir"

        * 19.4.1.2. "mbox"

        * 19.4.1.3. "MH"

        * 19.4.1.4. "Babyl"

        * 19.4.1.5. "MMDF"

      * 19.4.2. "Message" 对象

        * 19.4.2.1. "MaildirMessage"

        * 19.4.2.2. "mboxMessage"

        * 19.4.2.3. "MHMessage"

        * 19.4.2.4. "BabylMessage"

        * 19.4.2.5. "MMDFMessage"

      * 19.4.3. 异常

      * 19.4.4. 例子

    * 19.5. "mimetypes" --- 映射文件夹到 MIME 类型

      * 19.5.1. MimeTypes 对象

    * 19.6. "base64" --- Base16, Base32, Base64, Base85 数据编码

    * 19.7. "binhex" --- 对binhex4文件进行编码和解码

      * 19.7.1. 注释

    * 19.8. "binascii" --- 二进制和 ASCII 码互转

    * 19.9. "quopri" --- 编码与解码经过 MIME 转码的可打印数据

    * 19.10. "uu" --- 对 uuencode 文件进行编码与解码

  * 20. 结构化标记处理工具

    * 20.1. "html" --- 超文本标记语言支持

    * 20.2. "html.parser" --- 简单的 HTML 和 XHTML 解析器

      * 20.2.1. HTML 解析器的示例程序

      * 20.2.2. "HTMLParser" 方法

      * 20.2.3. 例子

    * 20.3. "html.entities" --- HTML 一般实体的定义

    * 20.4. XML处理模块

      * 20.4.1. XML 漏洞

      * 20.4.2. "defusedxml" 和 "defusedexpat" 软件包

    * 20.5. "xml.etree.ElementTree" ---  ElementTree XML API

      * 20.5.1. 教程

        * 20.5.1.1. XML树和元素

        * 20.5.1.2. 解析XML

        * 20.5.1.3. Pull API进行非阻塞解析

        * 20.5.1.4. 寻找有趣的元素

        * 20.5.1.5. 修改XML文件

        * 20.5.1.6. 构建XML文档

        * 20.5.1.7. 使用命名空间解析XML

        * 20.5.1.8. 其他资源

      * 20.5.2. XPath支持

        * 20.5.2.1. 示例

        * 20.5.2.2. 支持的XPath语法

      * 20.5.3. 参考

        * 20.5.3.1. 函数

        * 20.5.3.2. 元素对象

        * 20.5.3.3. ElementTree 对象

        * 20.5.3.4. QName 对象

        * 20.5.3.5. TreeBuilder 对象

        * 20.5.3.6. XMLParser对象

        * 20.5.3.7. XMLPullParser对象

        * 20.5.3.8. 异常

    * 20.6. "xml.dom" --- 文档对象模型 API

      * 20.6.1. 模块内容

      * 20.6.2. DOM 中的对象

        * 20.6.2.1. DOMImplementation 对象

        * 20.6.2.2. 节点对象

        * 20.6.2.3. 节点列表对象

        * 20.6.2.4. 文档类型对象

        * 20.6.2.5. 文档对象

        * 20.6.2.6. 元素对象

        * 20.6.2.7. Attr 对象

        * 20.6.2.8. NamedNodeMap 对象

        * 20.6.2.9. 注释对象

        * 20.6.2.10. Text 和 CDATASection 对象

        * 20.6.2.11. ProcessingInstruction 对象

        * 20.6.2.12. 异常

      * 20.6.3. 一致性

        * 20.6.3.1. 类型映射

        * 20.6.3.2. 访问器方法

    * 20.7. "xml.dom.minidom" --- 最小化的 DOM 实现

      * 20.7.1. DOM 对象

      * 20.7.2. DOM 示例

      * 20.7.3. minidom 和 DOM 标准

    * 20.8. "xml.dom.pulldom" --- 支持构建部分 DOM 树

      * 20.8.1. DOMEventStream 对象

    * 20.9. "xml.sax" --- 支持 SAX2 解析器

      * 20.9.1. SAXException 对象

    * 20.10. "xml.sax.handler" --- SAX 处理程序的基类

      * 20.10.1. ContentHandler 对象

      * 20.10.2. DTDHandler 对象

      * 20.10.3. EntityResolver 对象

      * 20.10.4. ErrorHandler 对象

    * 20.11. "xml.sax.saxutils" --- SAX 工具集

    * 20.12. "xml.sax.xmlreader" --- 用于 XML 解析器的接口

      * 20.12.1. XMLReader 对象

      * 20.12.2. IncrementalParser 对象

      * 20.12.3. Locator 对象

      * 20.12.4. InputSource 对象

      * 20.12.5. "Attributes" 接口

      * 20.12.6. "AttributesNS" 接口

    * 20.13. "xml.parsers.expat" ---  使用 Expat 的快速 XML 解析

      * 20.13.1. XMLParser对象

      * 20.13.2. ExpatError 异常

      * 20.13.3. 示例

      * 20.13.4. 内容模型描述

      * 20.13.5. Expat 错误常量

  * 21. 互联网协议和支持

    * 21.1. "webbrowser" --- 方便的Web浏览器控制器

      * 21.1.1. 浏览器控制器对象

    * 21.2. "cgi" --- 通用网关接口支持

      * 21.2.1. 概述

      * 21.2.2. 使用cgi模块。

      * 21.2.3. 更高层级的接口

      * 21.2.4. 函数

      * 21.2.5. Caring about security

      * 21.2.6. Installing your CGI script on a Unix system

      * 21.2.7. Testing your CGI script

      * 21.2.8. Debugging CGI scripts

      * 21.2.9. Common problems and solutions

    * 21.3. "cgitb" --- 用于 CGI 脚本的回溯管理器

    * 21.4. "wsgiref" --- WSGI Utilities and Reference Implementation

      * 21.4.1. "wsgiref.util" -- WSGI environment utilities

      * 21.4.2. "wsgiref.headers" -- WSGI response header tools

      * 21.4.3. "wsgiref.simple_server" -- a simple WSGI HTTP server

      * 21.4.4. "wsgiref.validate" --- WSGI conformance checker

      * 21.4.5. "wsgiref.handlers" -- server/gateway base classes

      * 21.4.6. 例子

    * 21.5. "urllib" --- URL 处理模块

    * 21.6. "urllib.request" --- 用于打开 URL 的可扩展库

      * 21.6.1. Request 对象

      * 21.6.2. OpenerDirector 对象

      * 21.6.3. BaseHandler 对象

      * 21.6.4. HTTPRedirectHandler 对象

      * 21.6.5. HTTPCookieProcessor 对象

      * 21.6.6. ProxyHandler 对象

      * 21.6.7. HTTPPasswordMgr 对象

      * 21.6.8. HTTPPasswordMgrWithPriorAuth 对象

      * 21.6.9. AbstractBasicAuthHandler 对象

      * 21.6.10. HTTPBasicAuthHandler 对象

      * 21.6.11. ProxyBasicAuthHandler 对象

      * 21.6.12. AbstractDigestAuthHandler 对象

      * 21.6.13. HTTPDigestAuthHandler 对象

      * 21.6.14. ProxyDigestAuthHandler 对象

      * 21.6.15. HTTPHandler 对象

      * 21.6.16. HTTPSHandler 对象

      * 21.6.17. FileHandler 对象

      * 21.6.18. DataHandler 对象

      * 21.6.19. FTPHandler 对象

      * 21.6.20. CacheFTPHandler 对象

      * 21.6.21. UnknownHandler 对象

      * 21.6.22. HTTPErrorProcessor 对象

      * 21.6.23. 例子

      * 21.6.24. 已停用的接口

      * 21.6.25. "urllib.request" Restrictions

    * 21.7. "urllib.response" --- urllib 使用的 Response 类

    * 21.8. "urllib.parse"  用于解析 URL

      * 21.8.1. URL 解析

      * 21.8.2. 解析ASCII编码字节

      * 21.8.3. 结构化解析结果

      * 21.8.4. URL Quoting

    * 21.9. "urllib.error" --- urllib.request 引发的异常类

    * 21.10. "urllib.robotparser" --- robots.txt 语法分析程序

    * 21.11. "http" --- HTTP 模块

      * 21.11.1. HTTP 状态码

    * 21.12. "http.client" --- HTTP 协议客户端

      * 21.12.1. HTTPConnection 对象

      * 21.12.2. HTTPResponse 对象

      * 21.12.3. 例子

      * 21.12.4. HTTPMessage Objects

    * 21.13. "ftplib" --- FTP 协议客户端

      * 21.13.1. FTP 对象

      * 21.13.2. FTP_TLS 对象

    * 21.14. "poplib" --- POP3 协议客户端

      * 21.14.1. POP3 对象

      * 21.14.2. POP3 示例

    * 21.15. "imaplib" --- IMAP4 协议客户端

      * 21.15.1. IMAP4 Objects

      * 21.15.2. IMAP4 Example

    * 21.16. "nntplib" --- NNTP protocol client

      * 21.16.1. NNTP Objects

        * 21.16.1.1. Attributes

        * 21.16.1.2. 方法

      * 21.16.2. 工具函数

    * 21.17. "smtplib" ---SMTP协议客户端

      * 21.17.1. SMTP Objects

      * 21.17.2. SMTP Example

    * 21.18. "smtpd" --- SMTP 服务器

      * 21.18.1. SMTPServer 对象

      * 21.18.2. DebuggingServer 对象

      * 21.18.3. PureProxy对象

      * 21.18.4. MailmanProxy 对象

      * 21.18.5. SMTPChannel 对象

    * 21.19. "telnetlib" -- Telnet 客户端

      * 21.19.1. Telnet 对象

      * 21.19.2. Telnet 示例

    * 21.20. "uuid" --- UUID objects according to **RFC 4122**

      * 21.20.1. 示例

    * 21.21. "socketserver" --- A framework for network servers

      * 21.21.1. Server Creation Notes

      * 21.21.2. Server 对象

      * 21.21.3. Request Handler Objects

      * 21.21.4. 例子

        * 21.21.4.1. "socketserver.TCPServer" Example

        * 21.21.4.2. "socketserver.UDPServer" Example

        * 21.21.4.3. Asynchronous Mixins

    * 21.22. "http.server" --- HTTP 服务器

    * 21.23. "http.cookies" --- HTTP状态管理

      * 21.23.1. Cookie 对象

      * 21.23.2. Morsel 对象

      * 21.23.3. 示例

    * 21.24. "http.cookiejar" —— HTTP 客户端的 Cookie 处理

      * 21.24.1. CookieJar 和 FileCookieJar 对象

      * 21.24.2. FileCookieJar subclasses and co-operation with web
        browsers

      * 21.24.3. CookiePolicy 对象

      * 21.24.4. DefaultCookiePolicy 对象

      * 21.24.5. Cookie 对象

      * 21.24.6. 例子

    * 21.25. "xmlrpc" --- XMLRPC 服务端与客户端模块

    * 21.26. "xmlrpc.client" --- XML-RPC 客户端访问

      * 21.26.1. ServerProxy 对象

      * 21.26.2. DateTime 对象

      * 21.26.3. Binary 对象

      * 21.26.4. Fault 对象

      * 21.26.5. ProtocolError 对象

      * 21.26.6. MultiCall 对象

      * 21.26.7. Convenience Functions

      * 21.26.8. Example of Client Usage

      * 21.26.9. Example of Client and Server Usage

    * 21.27. "xmlrpc.server" --- 基本 XML-RPC 服务器

      * 21.27.1. SimpleXMLRPCServer Objects

        * 21.27.1.1. SimpleXMLRPCServer Example

      * 21.27.2. CGIXMLRPCRequestHandler

      * 21.27.3. Documenting XMLRPC server

      * 21.27.4. DocXMLRPCServer Objects

      * 21.27.5. DocCGIXMLRPCRequestHandler

    * 21.28. "ipaddress" --- IPv4/IPv6 操作库

      * 21.28.1. 方便的工厂函数

      * 21.28.2. IP 地址

        * 21.28.2.1. 地址对象

        * 21.28.2.2. Conversion to Strings and Integers

        * 21.28.2.3. 运算符

          * 21.28.2.3.1. 比较运算符

          * 21.28.2.3.2. 算术运算符

      * 21.28.3. IP网络的定义

        * 21.28.3.1. Prefix, net mask and host mask

        * 21.28.3.2. Network objects

        * 21.28.3.3. 运算符

          * 21.28.3.3.1. Logical operators

          * 21.28.3.3.2. 迭代

          * 21.28.3.3.3. Networks as containers of addresses

      * 21.28.4. Interface objects

        * 21.28.4.1. 运算符

          * 21.28.4.1.1. Logical operators

      * 21.28.5. Other Module Level Functions

      * 21.28.6. Custom Exceptions

  * 22. 多媒体服务

    * 22.1. "audioop" --- 处理原始音频数据

    * 22.2. "aifc" --- 读写 AIFF 和 AIFC 文件

    * 22.3. "sunau" --- 读写 Sun AU 文件

      * 22.3.1. AU_read 对象

      * 22.3.2. AU_write 对象

    * 22.4. "wave" --- 读写WAV格式文件

      * 22.4.1. Wave_read对象

      * 22.4.2. Wave_write 对象

    * 22.5. "chunk" --- 读取 IFF 分块数据

    * 22.6. "colorsys" --- 颜色系统间的转换

    * 22.7. "imghdr" --- 推测图像类型

    * 22.8. "sndhdr" --- 推测声音文件的类型

    * 22.9. "ossaudiodev"  --- 访问兼容OSS的音频设备

      * 22.9.1. Audio Device Objects

      * 22.9.2. Mixer Device Objects

  * 23. 国际化

    * 23.1. "gettext" --- 多语种国际化服务

      * 23.1.1. GNU **gettext** API

      * 23.1.2. 基于类的 API

        * 23.1.2.1. "NullTranslations" 类

        * 23.1.2.2. "GNUTranslations" 类

        * 23.1.2.3. Solaris 消息编目支持

        * 23.1.2.4. 编目构造器

      * 23.1.3. 国际化 (I18N) 你的程序和模块

        * 23.1.3.1. 本地化你的模块

        * 23.1.3.2. 本地化你的应用程序

        * 23.1.3.3. 即时更改语言

        * 23.1.3.4. 延迟翻译

      * 23.1.4. 致谢

    * 23.2. "locale" --- 国际化服务

      * 23.2.1. Background, details, hints, tips and caveats

      * 23.2.2. For extension writers and programs that embed Python

      * 23.2.3. Access to message catalogs

  * 24. 程序框架

    * 24.1. "turtle" --- 海龟绘图

      * 24.1.1. 概述

      * 24.1.2. 可用的 Turtle 和 Screen 方法概览

        * 24.1.2.1. Turtle 方法

        * 24.1.2.2. TurtleScreen/Screen 方法

      * 24.1.3. RawTurtle/Turtle 方法和对应函数

        * 24.1.3.1. 海龟动作

        * 24.1.3.2. 获取海龟的状态

        * 24.1.3.3. 度量单位设置

        * 24.1.3.4. 画笔控制

          * 24.1.3.4.1. 绘图状态

          * 24.1.3.4.2. 颜色控制

          * 24.1.3.4.3. 填充

          * 24.1.3.4.4. 更多绘图控制

        * 24.1.3.5. 海龟状态

          * 24.1.3.5.1. 可见性

          * 24.1.3.5.2. 外观

        * 24.1.3.6. 使用事件

        * 24.1.3.7. 特殊海龟方法

        * 24.1.3.8. 复合形状

      * 24.1.4. TurtleScreen/Screen 方法及对应函数

        * 24.1.4.1. 窗口控制

        * 24.1.4.2. 动画控制

        * 24.1.4.3. 使用屏幕事件

        * 24.1.4.4. 输入方法

        * 24.1.4.5. 设置与特殊方法

        * 24.1.4.6. Screen 专有方法, 而非继承自 TurtleScreen

      * 24.1.5. 公共类

      * 24.1.6. 帮助与配置

        * 24.1.6.1. 如何使用帮助

        * 24.1.6.2. 文档字符串翻译为不同的语言

        * 24.1.6.3. 如何配置 Screen 和 Turtle

      * 24.1.7. "turtledemo" --- 演示脚本集

      * 24.1.8. Python 2.6 之后的变化

      * 24.1.9. Python 3.0 之后的变化

    * 24.2. "cmd" --- 支持面向行的命令解释器

      * 24.2.1. Cmd 对象

      * 24.2.2. Cmd 例子

    * 24.3. "shlex" --- Simple lexical analysis

      * 24.3.1. shlex Objects

      * 24.3.2. Parsing Rules

      * 24.3.3. Improved Compatibility with Shells

  * 25. Tk图形用户界面(GUI)

    * 25.1. "tkinter" --- Tcl/Tk的Python接口

      * 25.1.1. Tkinter 模块

      * 25.1.2. Tkinter Life Preserver

        * 25.1.2.1. How To Use This Section

        * 25.1.2.2. A Simple Hello World Program

      * 25.1.3. A (Very) Quick Look at Tcl/Tk

      * 25.1.4. Mapping Basic Tk into Tkinter

      * 25.1.5. How Tk and Tkinter are Related

      * 25.1.6. Handy Reference

        * 25.1.6.1. Setting Options

        * 25.1.6.2. The Packer

        * 25.1.6.3. Packer Options

        * 25.1.6.4. Coupling Widget Variables

        * 25.1.6.5. The Window Manager

        * 25.1.6.6. Tk Option Data Types

        * 25.1.6.7. Bindings and Events

        * 25.1.6.8. The index Parameter

        * 25.1.6.9. Images

      * 25.1.7. File Handlers

    * 25.2. "tkinter.ttk" --- Tk主题小部件

      * 25.2.1. 使用 Ttk

      * 25.2.2. Ttk 部件

      * 25.2.3. 控件

        * 25.2.3.1. 标准选项

        * 25.2.3.2. 可滚动控件选项

        * 25.2.3.3. 标签选项

        * 25.2.3.4. 兼容性选项

        * 25.2.3.5. 控件状态

        * 25.2.3.6. ttk.Widget

      * 25.2.4. 组合框

        * 25.2.4.1. 选项

        * 25.2.4.2. 虚拟事件

        * 25.2.4.3. ttk.Combobox

      * 25.2.5. 笔记本

        * 25.2.5.1. 选项

        * 25.2.5.2. Tab 选项

        * 25.2.5.3. Tab Identifiers

        * 25.2.5.4. Virtual Events

        * 25.2.5.5. ttk.Notebook

      * 25.2.6. Progressbar

        * 25.2.6.1. 选项

        * 25.2.6.2. ttk.Progressbar

      * 25.2.7. Separator

        * 25.2.7.1. 选项

      * 25.2.8. Sizegrip

        * 25.2.8.1. Platform-specific notes

        * 25.2.8.2. Bugs

      * 25.2.9. Treeview

        * 25.2.9.1. 选项

        * 25.2.9.2. Item Options

        * 25.2.9.3. Tag Options

        * 25.2.9.4. Column Identifiers

        * 25.2.9.5. Virtual Events

        * 25.2.9.6. ttk.Treeview

      * 25.2.10. Ttk Styling

        * 25.2.10.1. Layouts

    * 25.3. "tkinter.tix" --- TK扩展包

      * 25.3.1. Using Tix

      * 25.3.2. Tix Widgets

        * 25.3.2.1. Basic Widgets

        * 25.3.2.2. File Selectors

        * 25.3.2.3. Hierarchical ListBox

        * 25.3.2.4. Tabular ListBox

        * 25.3.2.5. Manager Widgets

        * 25.3.2.6. Image Types

        * 25.3.2.7. Miscellaneous Widgets

        * 25.3.2.8. Form Geometry Manager

      * 25.3.3. Tix Commands

    * 25.4. "tkinter.scrolledtext" --- 滚动文字控件

    * 25.5. IDLE

      * 25.5.1. 目录

        * 25.5.1.1. 文件目录 （命令行和编辑器）

        * 25.5.1.2. 编辑目录（命令行和编辑器）

        * 25.5.1.3. 格式菜单（仅 window 编辑器）

        * 25.5.1.4. 运行菜单（仅 window 编辑器）

        * 25.5.1.5. Shell 菜单（仅 window 编辑器）

        * 25.5.1.6. 调试菜单（仅 window 编辑器）

        * 25.5.1.7. 选项菜单（命令行和编辑器）

        * 25.5.1.8. Window 菜单（命令行和编辑器）

        * 25.5.1.9. 帮助菜单（命令行和编辑器）

        * 25.5.1.10. 上下文菜单

      * 25.5.2. 编辑和导航

        * 25.5.2.1. 编辑窗口

        * 25.5.2.2. 按键绑定

        * 25.5.2.3. 自动缩进

        * 25.5.2.4. 完成

        * 25.5.2.5. 提示

        * 25.5.2.6. Python Shell 窗口

        * 25.5.2.7. 文本颜色

      * 25.5.3. 启动和代码执行

        * 25.5.3.1. 命令行语法

        * 25.5.3.2. 启动失败

        * 25.5.3.3. 运行用户代码

        * 25.5.3.4. Shell中的用户输出

        * 25.5.3.5. 开发 tkinter 应用程序

        * 25.5.3.6. 在没有子进程的情况下运行

      * 25.5.4. 帮助和偏好

        * 25.5.4.1. 帮助资源

        * 25.5.4.2. 偏好设定

        * 25.5.4.3. macOS 上的IDLE

        * 25.5.4.4. 扩展

    * 25.6. 其他图形用户界面（GUI）包

  * 26. 开发工具

    * 26.1. "typing" --- 类型标注支持

      * 26.1.1. 类型别名

      * 26.1.2. NewType

      * 26.1.3. Callable

      * 26.1.4. 泛型(Generic)

      * 26.1.5. 用户定义的泛型类型

      * 26.1.6. "Any" 类型

      * 26.1.7. 类,函数和修饰器.

    * 26.2. "pydoc" --- 文档生成器和在线帮助系统

    * 26.3. "doctest" --- 测试交互性的Python示例

      * 26.3.1. 简单用法：检查Docstrings中的示例

      * 26.3.2. Simple Usage: Checking Examples in a Text File

      * 26.3.3. How It Works

        * 26.3.3.1. Which Docstrings Are Examined?

        * 26.3.3.2. How are Docstring Examples Recognized?

        * 26.3.3.3. What's the Execution Context?

        * 26.3.3.4. What About Exceptions?

        * 26.3.3.5. Option Flags

        * 26.3.3.6. Directives

        * 26.3.3.7. 警告

      * 26.3.4. Basic API

      * 26.3.5. Unittest API

      * 26.3.6. Advanced API

        * 26.3.6.1. DocTest 对象

        * 26.3.6.2. Example Objects

        * 26.3.6.3. DocTestFinder 对象

        * 26.3.6.4. DocTestParser 对象

        * 26.3.6.5. DocTestRunner 对象

        * 26.3.6.6. OutputChecker 对象

      * 26.3.7. 调试

      * 26.3.8. Soapbox

    * 26.4. "unittest" --- 单元测试框架

      * 26.4.1. 基本实例

      * 26.4.2. 命令行界面

        * 26.4.2.1. 命令行选项

      * 26.4.3. 探索性测试

      * 26.4.4. 组织你的测试代码

      * 26.4.5. 复用已有的测试代码

      * 26.4.6. 跳过测试与预计的失败

      * 26.4.7. Distinguishing test iterations using subtests

      * 26.4.8. 类与函数

        * 26.4.8.1. 测试用例

          * 26.4.8.1.1. Deprecated aliases

        * 26.4.8.2. Grouping tests

        * 26.4.8.3. Loading and running tests

          * 26.4.8.3.1. load_tests Protocol

      * 26.4.9. Class and Module Fixtures

        * 26.4.9.1. setUpClass and tearDownClass

        * 26.4.9.2. setUpModule and tearDownModule

      * 26.4.10. 信号处理

    * 26.5. "unittest.mock" --- 模拟对象库

      * 26.5.1. 快速上手

      * 26.5.2. Mock 类

        * 26.5.2.1. Calling

        * 26.5.2.2. Deleting Attributes

        * 26.5.2.3. Mock names and the name attribute

        * 26.5.2.4. Attaching Mocks as Attributes

      * 26.5.3. The patchers

        * 26.5.3.1. patch

        * 26.5.3.2. patch.object

        * 26.5.3.3. patch.dict

        * 26.5.3.4. patch.multiple

        * 26.5.3.5. patch methods: start and stop

        * 26.5.3.6. patch builtins

        * 26.5.3.7. TEST_PREFIX

        * 26.5.3.8. Nesting Patch Decorators

        * 26.5.3.9. Where to patch

        * 26.5.3.10. Patching Descriptors and Proxy Objects

      * 26.5.4. MagicMock and magic method support

        * 26.5.4.1. Mocking Magic Methods

        * 26.5.4.2. Magic Mock

      * 26.5.5. Helpers

        * 26.5.5.1. sentinel

        * 26.5.5.2. DEFAULT

        * 26.5.5.3. call

        * 26.5.5.4. create_autospec

        * 26.5.5.5. ANY

        * 26.5.5.6. FILTER_DIR

        * 26.5.5.7. mock_open

        * 26.5.5.8. Autospeccing

    * 26.6. "unittest.mock" 上手指南

      * 26.6.1. 使用 mock

        * 26.6.1.1. 模拟方法调用

        * 26.6.1.2. 对象上的方法调用的 mock

        * 26.6.1.3. Mocking Classes

        * 26.6.1.4. Naming your mocks

        * 26.6.1.5. Tracking all Calls

        * 26.6.1.6. Setting Return Values and Attributes

        * 26.6.1.7. Raising exceptions with mocks

        * 26.6.1.8. Side effect functions and iterables

        * 26.6.1.9. Creating a Mock from an Existing Object

      * 26.6.2. Patch Decorators

      * 26.6.3. Further Examples

        * 26.6.3.1. Mocking chained calls

        * 26.6.3.2. Partial mocking

        * 26.6.3.3. Mocking a Generator Method

        * 26.6.3.4. Applying the same patch to every test method

        * 26.6.3.5. Mocking Unbound Methods

        * 26.6.3.6. Checking multiple calls with mock

        * 26.6.3.7. Coping with mutable arguments

        * 26.6.3.8. Nesting Patches

        * 26.6.3.9. Mocking a dictionary with MagicMock

        * 26.6.3.10. Mock subclasses and their attributes

        * 26.6.3.11. Mocking imports with patch.dict

        * 26.6.3.12. Tracking order of calls and less verbose call
          assertions

        * 26.6.3.13. More complex argument matching

    * 26.7. 2to3 - 自动将 Python 2 代码转为 Python 3 代码

      * 26.7.1. 使用 2to3

      * 26.7.2. 修复器

      * 26.7.3. "lib2to3" —— 2to3 支持库

    * 26.8. "test" ---  Python回归测试包

      * 26.8.1. Writing Unit Tests for the "test" package

      * 26.8.2. Running tests using the command-line interface

    * 26.9. "test.support" --- Utilities for the Python test suite

  * 27. 调试和分析

    * 27.1. "bdb" --- Debugger framework

    * 27.2. "faulthandler" --- Dump the Python traceback

      * 27.2.1. Dumping the traceback

      * 27.2.2. Fault handler state

      * 27.2.3. Dumping the tracebacks after a timeout

      * 27.2.4. Dumping the traceback on a user signal

      * 27.2.5. Issue with file descriptors

      * 27.2.6. 示例

    * 27.3. "pdb" --- Python的调试器

      * 27.3.1. 调试器命令

    * 27.4. Python 分析器

      * 27.4.1. 分析器简介

      * 27.4.2. 即时用户手册

      * 27.4.3. "profile" 和 "cProfile" 模块参考

      * 27.4.4. "Stats" 类

      * 27.4.5. 什么是确定性性能分析？

      * 27.4.6. 局限性

      * 27.4.7. 准确估量

      * 27.4.8. 使用自定义计时器

    * 27.5. "timeit" --- 测量小代码片段的执行时间

      * 27.5.1. 基本示例

      * 27.5.2. Python 接口

      * 27.5.3. 命令行界面

      * 27.5.4. 例子

    * 27.6. "trace" --- 跟踪Python语句执行

      * 27.6.1. Command-Line Usage

        * 27.6.1.1. Main options

        * 27.6.1.2. Modifiers

        * 27.6.1.3. Filters

      * 27.6.2. 编程接口

    * 27.7. "tracemalloc" --- 跟踪内存分配

      * 27.7.1. 例子

        * 27.7.1.1. 显示前10项

        * 27.7.1.2. 计算差异

        * 27.7.1.3. Get the traceback of a memory block

        * 27.7.1.4. Pretty top

      * 27.7.2. API

        * 27.7.2.1. 函数

        * 27.7.2.2. 域过滤器

        * 27.7.2.3. 过滤器

        * 27.7.2.4. Frame

        * 27.7.2.5. 快照

        * 27.7.2.6. 统计

        * 27.7.2.7. StatisticDiff

        * 27.7.2.8. 跟踪

        * 27.7.2.9. 回溯

  * 28. 软件打包和分发

    * 28.1. "distutils" --- 构建和安装 Python 模块

    * 28.2. "ensurepip" --- Bootstrapping the "pip" installer

      * 28.2.1. Command line interface

      * 28.2.2. Module API

    * 28.3. "venv" --- 创建虚拟环境

      * 28.3.1. 创建虚拟环境

      * 28.3.2. API

      * 28.3.3. 一个扩展 "EnvBuilder" 的例子

    * 28.4. "zipapp" --- Manage executable python zip archives

      * 28.4.1. Basic Example

      * 28.4.2. 命令行界面

      * 28.4.3. Python API

      * 28.4.4. 例子

      * 28.4.5. Specifying the Interpreter

      * 28.4.6. Creating Standalone Applications with zipapp

        * 28.4.6.1. Making a Windows executable

        * 28.4.6.2. Caveats

      * 28.4.7. The Python Zip Application Archive Format

  * 29. Python运行时服务

    * 29.1. "sys" --- 系统相关的参数和函数

    * 29.2. "sysconfig" --- Provide access to Python's configuration
      information

      * 29.2.1. 配置变量

      * 29.2.2. 安装路径

      * 29.2.3. 其他功能

      * 29.2.4. Using "sysconfig" as a script

    * 29.3. "builtins" --- 内建对象

    * 29.4. "__main__" --- 顶层脚本环境

    * 29.5. "warnings" --- Warning control

      * 29.5.1. 警告类别

      * 29.5.2. The Warnings Filter

        * 29.5.2.1. Default Warning Filters

      * 29.5.3. 暂时禁止警告

      * 29.5.4. 测试警告

      * 29.5.5. Updating Code For New Versions of Python

      * 29.5.6. Available Functions

      * 29.5.7. Available Context Managers

    * 29.6. "contextlib" --- Utilities for "with"-statement contexts

      * 29.6.1. 工具

      * 29.6.2. 例子和配方

        * 29.6.2.1. Supporting a variable number of context managers

        * 29.6.2.2. Simplifying support for single optional context
          managers

        * 29.6.2.3. Catching exceptions from "__enter__" methods

        * 29.6.2.4. Cleaning up in an "__enter__" implementation

        * 29.6.2.5. Replacing any use of "try-finally" and flag
          variables

        * 29.6.2.6. Using a context manager as a function decorator

      * 29.6.3. Single use, reusable and reentrant context managers

        * 29.6.3.1. Reentrant context managers

        * 29.6.3.2. Reusable context managers

    * 29.7. "abc" --- 抽象基类

    * 29.8. "atexit" --- 退出处理器

      * 29.8.1. "atexit" 示例

    * 29.9. "traceback" --- 打印或检索堆栈回溯

      * 29.9.1. "TracebackException" Objects

      * 29.9.2. "StackSummary" Objects

      * 29.9.3. "FrameSummary" Objects

      * 29.9.4. Traceback Examples

    * 29.10. "__future__" --- Future 语句定义

    * 29.11. "gc" --- 垃圾回收器接口

    * 29.12. "inspect" --- 检查对象

      * 29.12.1. 类型和成员

      * 29.12.2. Retrieving source code

      * 29.12.3. Introspecting callables with the Signature object

      * 29.12.4. 类与函数

      * 29.12.5. The interpreter stack

      * 29.12.6. Fetching attributes statically

      * 29.12.7. Current State of Generators and Coroutines

      * 29.12.8. Code Objects Bit Flags

      * 29.12.9. 命令行界面

    * 29.13. "site" —— 站点专属的配置钩子

      * 29.13.1. Readline（类库） 配置

      * 29.13.2. 模块内容

    * 29.14. "fpectl" --- Floating point exception control

      * 29.14.1. Example

      * 29.14.2. Limitations and other considerations

  * 30. 自定义 Python 解释器

    * 30.1. "code" --- 解释器基础类

      * 30.1.1. 交互解释器对象

      * 30.1.2. 交互式控制台对象

    * 30.2. "codeop" --- 编译Python代码

  * 31. 导入模块

    * 31.1. "zipimport" --- 从 Zip 存档中导入模块

      * 31.1.1. zipimporter 对象

      * 31.1.2. 例子

    * 31.2. "pkgutil" --- 包扩展模块工具

    * 31.3. "modulefinder" --- 查找脚本使用的模块

      * 31.3.1. "ModuleFinder" 的示例用法

    * 31.4. "runpy" --- Locating and executing Python modules

    * 31.5. "importlib" --- The implementation of "import"

      * 31.5.1. 概述

      * 31.5.2. 函数

      * 31.5.3. "importlib.abc" —— 关于导入的抽象基类

      * 31.5.4. "importlib.machinery" -- Importers and path hooks

      * 31.5.5. "importlib.util" -- Utility code for importers

      * 31.5.6. 例子

        * 31.5.6.1. Importing programmatically

        * 31.5.6.2. Checking if a module can be imported

        * 31.5.6.3. Importing a source file directly

        * 31.5.6.4. Setting up an importer

        * 31.5.6.5. Approximating "importlib.import_module()"

  * 32. Python 语言服务

    * 32.1. "parser" --- 访问 Python 解析树

      * 32.1.1. 创建 ST 对象

      * 32.1.2. 转换 ST 对象

      * 32.1.3. Queries on ST Objects

      * 32.1.4. 异常和错误处理

      * 32.1.5. ST 对象

      * 32.1.6. 示例: "compile()" 的模拟

    * 32.2. "ast" --- 抽象语法树

      * 32.2.1. 节点类

      * 32.2.2. 抽象文法

      * 32.2.3. "ast" 中的辅助函数

    * 32.3. "symtable" --- Access to the compiler's symbol tables

      * 32.3.1. Generating Symbol Tables

      * 32.3.2. Examining Symbol Tables

    * 32.4. "symbol" --- 与 Python 解析树一起使用的常量

    * 32.5. "token" --- 与Python解析树一起使用的常量

    * 32.6. "keyword" --- 检验Python关键字

    * 32.7. "tokenize" -- 对 Python 代码使用的标记解析器

      * 32.7.1. 对输入进行解析标记

      * 32.7.2. Command-Line Usage

      * 32.7.3. 例子

    * 32.8. "tabnanny" --- 模糊缩进检测

    * 32.9. "pyclbr" --- Python class browser support

      * 32.9.1. 类对象

      * 32.9.2. 函数对象

    * 32.10. "py_compile" --- 编译 Python 源文件

    * 32.11. "compileall" --- Byte-compile Python libraries

      * 32.11.1. Command-line use

      * 32.11.2. Public functions

    * 32.12. "dis" --- Python 字节码反汇编器

      * 32.12.1. 字节码分析

      * 32.12.2. 分析函数

      * 32.12.3. Python字节码说明

      * 32.12.4. 操作码集合

    * 32.13. "pickletools" --- pickle 开发者工具集

      * 32.13.1. 命令行语法

        * 32.13.1.1. 命令行选项

      * 32.13.2. 编程接口

  * 33. 杂项服务

    * 33.1. "formatter" --- 通用格式化输出

      * 33.1.1. The Formatter Interface

      * 33.1.2. Formatter Implementations

      * 33.1.3. The Writer Interface

      * 33.1.4. Writer Implementations

  * 34. Windows系统相关模块

    * 34.1. "msilib" --- Read and write Microsoft Installer files

      * 34.1.1. Database Objects

      * 34.1.2. View Objects

      * 34.1.3. Summary Information Objects

      * 34.1.4. Record Objects

      * 34.1.5. Errors

      * 34.1.6. CAB Objects

      * 34.1.7. Directory Objects

      * 34.1.8. 相关特性

      * 34.1.9. GUI classes

      * 34.1.10. Precomputed tables

    * 34.2. "msvcrt" --- 来自 MS VC++ 运行时的有用例程

      * 34.2.1. 文件操作

      * 34.2.2. 控制台 I/O

      * 34.2.3. 其他函数

    * 34.3. "winreg" --- Windows 注册表访问

      * 34.3.1. 函数

      * 34.3.2. 常量

        * 34.3.2.1. HKEY_* Constants

        * 34.3.2.2. Access Rights

          * 34.3.2.2.1. 64-bit Specific

        * 34.3.2.3. Value Types

      * 34.3.3. Registry Handle Objects

    * 34.4. "winsound" --- Sound-playing interface for Windows

  * 35. Unix 专有服务

    * 35.1. "posix" --- 最常见的 POSIX 系统调用

      * 35.1.1. 大文件支持

      * 35.1.2. 重要的模块内容

    * 35.2. "pwd" --- 用户密码数据库

    * 35.3. "spwd" --- The shadow password database

    * 35.4. "grp" --- 组数据库

    * 35.5. "crypt" --- Function to check Unix passwords

      * 35.5.1. Hashing Methods

      * 35.5.2. Module Attributes

      * 35.5.3. 模块函数

      * 35.5.4. 例子

    * 35.6. "termios" --- POSIX 风格的 tty 控制

      * 35.6.1. 示例

    * 35.7. "tty" --- 终端控制功能

    * 35.8. "pty" --- 伪终端工具

      * 35.8.1. 示例

    * 35.9. "fcntl" --- The "fcntl" and "ioctl" system calls

    * 35.10. "pipes" --- 终端管道接口

      * 35.10.1. 模板对象

    * 35.11. "resource" --- Resource usage information

      * 35.11.1. Resource Limits

      * 35.11.2. Resource Usage

    * 35.12. "nis" --- Sun 的 NIS (黄页) 接口

    * 35.13. Unix syslog 库例程

      * 35.13.1. 例子

        * 35.13.1.1. 简单示例

  * 36. 被取代的模块

    * 36.1. "optparse" --- 解析器的命令行选项

      * 36.1.1. 背景

        * 36.1.1.1. 术语

        * 36.1.1.2. What are options for?

        * 36.1.1.3. 位置位置

      * 36.1.2. 教程

        * 36.1.2.1. Understanding option actions

        * 36.1.2.2. The store action

        * 36.1.2.3. Handling boolean (flag) options

        * 36.1.2.4. Other actions

        * 36.1.2.5. 默认值

        * 36.1.2.6. Generating help

          * 36.1.2.6.1. Grouping Options

        * 36.1.2.7. Printing a version string

        * 36.1.2.8. How "optparse" handles errors

        * 36.1.2.9. Putting it all together

      * 36.1.3. 参考指南

        * 36.1.3.1. 创建解析器

        * 36.1.3.2. 填充解析器

        * 36.1.3.3. 定义选项

        * 36.1.3.4. Option attributes

        * 36.1.3.5. Standard option actions

        * 36.1.3.6. Standard option types

        * 36.1.3.7. 解析参数

        * 36.1.3.8. Querying and manipulating your option parser

        * 36.1.3.9. Conflicts between options

        * 36.1.3.10. 清理

        * 36.1.3.11. Other methods

      * 36.1.4. Option Callbacks

        * 36.1.4.1. Defining a callback option

        * 36.1.4.2. How callbacks are called

        * 36.1.4.3. Raising errors in a callback

        * 36.1.4.4. Callback example 1: trivial callback

        * 36.1.4.5. Callback example 2: check option order

        * 36.1.4.6. Callback example 3: check option order
          (generalized)

        * 36.1.4.7. Callback example 4: check arbitrary condition

        * 36.1.4.8. Callback example 5: fixed arguments

        * 36.1.4.9. Callback example 6: variable arguments

      * 36.1.5. Extending "optparse"

        * 36.1.5.1. Adding new types

        * 36.1.5.2. Adding new actions

    * 36.2. "imp" --- Access the *import* internals

      * 36.2.1. 例子

  * 37. 未创建文档的模块

    * 37.1. 平台特定模块

* 扩展和嵌入 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. Type-specific Attribute Management

      * 3.4. Object Comparison

      * 3.5. Abstract Protocol Support

      * 3.6. Weak Reference Support

      * 3.7. 更多建议

    * 4. 构建C/C++扩展

      * 4.1. 使用distutils构建C和C++扩展

      * 4.2. 发布你的扩展模块

    * 5. 在Windows平台编译C和C++扩展

      * 5.1. 菜谱式说明

      * 5.2. Unix 和 Windows 之间的差异

      * 5.3. DLL 的实际使用

  * 在更大的应用程序中嵌入 CPython 运行时

    * 1. 在其它应用程序嵌入 Python

      * 1.1. Very High Level Embedding

      * 1.2. Beyond Very High Level Embedding: An overview

      * 1.3. 纯嵌入

      * 1.4. Extending Embedded Python

      * 1.5. 在 C++ 中嵌入 Python

      * 1.6. 在类 Unix 系统中编译和链接

* Python/C API 参考手册

  * 概述

    * 包含文件

    * 对象、类型和引用计数

      * 引用计数

        * 引用计数细节

      * 类型

    * 异常

    * 嵌入Python

    * 调试构建

  * 稳定的应用程序二进制接口

  * The Very High Level Layer

  * 引用计数

  * 异常处理

    * 打印和清理

    * 抛出异常

    * 警告

    * 查询错误指示器

    * 信号处理

    * 异常类

    * 异常对象

    * Unicode 异常对象

    * 递归控制

    * 标准异常

    * 标准警告类别

  * 工具

    * 操作系统实用程序

    * 系统功能

    * 过程控制

    * 导入模块

    * 数据 marshal 操作支持

    * 解析参数并构建值变量

      * 解析参数

        * 字符串和缓存区

        * 数字

        * 其他对象

        * API 函数

      * 创建变量

    * 字符串转换与格式化

    * 反射

    * 编解码器注册与支持功能

      * Codec 查找API

      * 用于Unicode编码错误处理程序的注册表API

  * 抽象对象层

    * 对象协议

    * 数字协议

    * 序列协议

    * 映射协议

    * 迭代器协议

    * 缓冲协议

      * 缓冲区结构

      * 缓冲区请求的类型

        * 与请求无关的字段

        * 只读，格式

        * 形状，步幅，子偏移量

        * 连续性的请求

        * 复合请求

      * 复杂数组

        * NumPy-风格：形状和步幅

        * PIL-风格：形状，步幅和子偏移量

      * 缓冲区相关函数

    * 旧缓冲协议

  * 具体的对象层

    * 基本对象

      * 类型对象

      * "None" 对象

    * 数值对象

      * 整数型对象

      * 布尔对象

      * 浮点数对象

      * 复数对象

        * 表示复数的C结构体

        * 表示复数的Python对象

    * 序列对象

      * bytes 对象

      * 字节数组对象

        * 类型检查宏

        * 直接 API 函数

        * 宏

      * Unicode对象和编码解码器

        * Unicode对象

          * Unicode类型

          * Unicode字符属性

          * Creating and accessing Unicode strings

          * Deprecated Py_UNICODE APIs

          * Locale Encoding

          * File System Encoding

          * wchar_t Support

        * Built-in Codecs

          * Generic Codecs

          * UTF-8 Codecs

          * UTF-32 Codecs

          * UTF-16 Codecs

          * UTF-7 Codecs

          * Unicode-Escape Codecs

          * Raw-Unicode-Escape Codecs

          * Latin-1 Codecs

          * ASCII Codecs

          * Character Map Codecs

          * MBCS codecs for Windows

          * Methods & Slots

        * Methods and Slot Functions

      * 元组对象

      * 结构序列对象

      * 列表对象

    * 容器对象

      * 字典对象

      * 集合对象

    * 函数对象

      * 函数对象

      * 实例方法对象

      * 方法对象

      * Cell 对象

      * 代码对象

    * 其他对象

      * 文件对象

      * 模块对象

        * Initializing C modules

          * Single-phase initialization

          * Multi-phase initialization

          * Low-level module creation functions

          * Support functions

        * Module lookup

      * 迭代器对象

      * 描述符对象

      * 切片对象

      * Ellipsis 对象

      * MemoryView 对象

      * 弱引用对象

      * 胶囊

      * 生成器对象

      * 协程对象

      * DateTime 对象

  * 初始化，终结和线程

    * Initializing and finalizing the interpreter

    * Process-wide parameters

    * Thread State and the Global Interpreter Lock

      * Releasing the GIL from extension code

      * 非Python创建的线程

      * 高阶 API

      * Low-level API

    * Sub-interpreter support

      * 错误和警告

    * 异步通知

    * 分析和跟踪

    * 高级调试器支持

  * 内存管理

    * 概述

    * 原始内存接口

    * 内存接口

    * 对象分配器

    * 自定义内存分配器

    * pymalloc 分配器

      * 自定义 pymalloc Arena 分配器

    * 例子

  * 对象实现支持

    * 在堆上分配对象

    * 公用对象的结构

    * 类型对象

    * Number Object Structures

    * Mapping Object Structures

    * Sequence Object Structures

    * Buffer Object Structures

    * Async Object Structures

    * 使对象类型支持循环垃圾回收

  * API 和 ABI 版本管理

* 分发 Python 模块

  * 关键术语

  * 开源许可与协作

  * 安装相关工具

  * Reading the guide

  * 我该如何...？

    * ...为我的项目选择一个名字？

    * ...创建和分发二进制扩展？

* 安装 Python 模块

  * 关键术语

  * 基本使用

  * 我应如何 ...？

    * ... 在 Python 3.4 之前的 Python 版本中安装 "pip" ？

    * ... 只为当前用户安装软件包？

    * ... 安装科学计算类 Python 软件包？

    * ... 使用并行安装的多个 Python 版本？

  * 常见的安装问题

    * 在 Linux 的系统 Python 版本上安装

    * 未安装 pip

    * 安装二进制编译扩展

* Python 常用指引

  * 将 Python 2 代码迁移到 Python 3

    * 简要说明

    * 详情

      * 删除对Python 2.6及更早版本的支持

      * Make sure you specify the proper version support in your
        "setup.py" file

      * 良好的测试覆盖率

      * 了解Python 2 和 3之间的区别

      * 更新代码

        * 除法

        * 文本与二进制数据

        * Use feature detection instead of version detection

      * Prevent compatibility regressions

      * Check which dependencies block your transition

      * Update your "setup.py" file to denote Python 3 compatibility

      * Use continuous integration to stay compatible

      * 考虑使用可选的静态类型检查

  * 将扩展模块移植到 Python 3

    * 条件编译

    * 对象API的更改

      * str/unicode 统一

      * long/int 统一

    * 模块初始化和状态

    * CObject 替换为 Capsule

    * 其他选项

  * 用 Python 进行 Curses 编程

    * curses 是什么？

      * Python 的 curses 模块

    * 开始和结束curses应用程序

    * Windows 和 Pad

    * 显示文字

      * 属性和颜色

    * 用户输入

    * 更多的信息

  * 实现描述器

    * 摘要

    * 定义和简介

    * 描述器协议

    * 发起调用描述器

    * 描述符示例

    * 属性

    * 函数和方法

    * 静态方法和类方法

  * 函数式编程指引

    * 概述

      * 形式证明

      * 模块化

      * 易于调试和测试

      * 组合性

    * 迭代器

      * 支持迭代器的数据类型

    * 生成器表达式和列表推导式

    * 生成器

      * 向生成器传递值

    * 内置函数

    * itertools 模块

      * 创建新的迭代器

      * 对元素使用函数

      * 选择元素

      * 组合函数

      * 为元素分组

    * functools 模块

      * operator 模块

    * 小函数和 lambda 表达式

    * 修订记录和致谢

    * 参考文献

      * 通用文献

      * Python 相关

      * Python 文档

  * 日志 HOWTO

    * 日志基础教程

      * 什么时候使用 Logging

      * 一个简单的例子

      * 记录日志到文件

      * 从多个模块记录日志

      * 记录变量数据

      * 更改显示消息的格式

      * 在消息中显示日期/时间

      * 后续步骤

    * 进阶日志教程

      * 记录流程

      * 记录器

      * 处理程序

      * 格式化程序

      * 配置日志记录

      * 如果没有提供配置会发生什么

      * 配置库的日志记录

    * 日志级别

      * 自定义级别

    * 有用的处理程序

    * 记录日志中引发的异常

    * 使用任意对象作为消息

    * 优化

  * 日志操作手册

    * 在多个模块中记录日志

    * 在多个线程中记录日志

    * 多个日志处理器以及多种格式化器

    * 在多个地方记录日志

    * 日志服务器配置示例

    * 处理日志处理器的阻塞

    * 通过网络发送和接收日志

    * 在日志记录中添加上下文信息

      * 使用日志适配器传递上下文信息

        * 使用除字典之外的其它对象传递上下文信息

      * 使用过滤器传递上下文信息

    * 从多个进程记录至单个文件

    * 轮换日志文件

    * 使用其他日志格式化方式

    * 自定义 "LogRecord"

    * 子类化 QueueHandler - ZeroMQ 示例

    * 子类化 QueueListener —— ZeroMQ 示例

    * 基于字典进行日志配置的示例

    * 利用 rotator 和 namer 自定义日志轮换操作

    * 更加详细的多道处理示例

    * 在发送给 SysLogHandler 的信息中插入一个  BOM。

    * 结构化日志的实现代码

    * 利用 "dictConfig()" 自定义 handler

    * 生效于整个应用程序的格式化样式

      * LogRecord 工厂的用法

      * 自定义信息对象的使用

    * 利用 "dictConfig()" 定义过滤器

    * 异常信息的自定义格式化

    * 语音播报日志信息

    * 缓冲日志消息并有条件地输出它们

    * 通过配置使用UTC (GMT) 格式化时间

    * 使用上下文管理器的可选的日志记录

  * 正则表达式HOWTO

    * 概述

    * 简单模式

      * 匹配字符

      * 重复

    * 使用正则表达式

      * 编译正则表达式

      * 反斜杠灾难

      * 应用匹配

      * 模块级别函数

      * 编译标志

    * 更多模式能力

      * 更多元字符

      * 分组

      * 非捕获和命名组

      * 前向断言

    * 修改字符串

      * 分割字符串

      * 搜索和替换

    * 常见问题

      * 使用字符串方法

      * match() 和 search()

      * 贪婪与非贪婪

      * 使用 re.VERBOSE

    * 反馈

  * 套接字编程指南

    * 套接字

      * 历史

    * 创建套接字

      * 进程间通信

    * 使用一个套接字

      * 二进制数据

    * 断开连接

      * 套接字何时销毁

    * 非阻塞的套接字

  * 排序指南

    * 基本排序

    * 关键函数

    * Operator 模块函数

    * 升序和降序

    * 排序稳定性和排序复杂度

    * 使用装饰-排序-去装饰的旧方法

    * 使用 *cmp* 参数的旧方法

    * 其它

  * Unicode 指南

    * Unicode 概述

      * History of Character Codes

      * 定义

      * 编码

      * 参考文献

    * Python对Unicode的支持

      * 字符串类型

      * 转换为字节

      * Python 源代码中的 Unicode 文字

      * Unicode属性

      * Unicode 正则表达式

      * 参考文献

    * Unicode 数据的读写

      * Unicode 文件名

      * 识别 Unicode 的编程技巧

        * 在文件编码格式之间进行转换

        * 编码格式未知的文件

      * 参考文献

    * 致谢

  * HOWTO 使用 urllib 包获取网络资源

    * 概述

    * 提取URL

      * 数据

      * HTTP 头部信息

    * 处理异常

      * URLError

      * HTTPError

        * 错误代码

      * 包装起来

        * 数字1

        * 第二种方案

    * info and geturl

    * Opener 和 Handler

    * 基本认证

    * 代理

    * 套接字与分层

    * 备注

  * Argparse 教程

    * 概念

    * 基础

    * 位置参数介绍

    * 可选参数介绍

      * 短选项

    * 结合位置参数和可选参数

    * 进行一些小小的改进

      * 矛盾的选项

    * 后记

  * ipaddress模块介绍

    * 创建 Address/Network/Interface 对象

      * 关于IP版本的说明

      * IP主机地址

      * 定义网络

      * 主机接口

    * 审查 Address/Network/Interface 对象

    * Network 作为 Address 列表

    * 比较运算

    * 将IP地址与其他模块一起使用

    * 实例创建失败时获取更多详细信息

  * Argument Clinic How-To

    * The Goals Of Argument Clinic

    * Basic Concepts And Usage

    * Converting Your First Function

    * Advanced Topics

      * Symbolic default values

      * Renaming the C functions and variables generated by Argument
        Clinic

      * Converting functions using PyArg_UnpackTuple

      * Optional Groups

      * Using real Argument Clinic converters, instead of "legacy
        converters"

      * Py_buffer

      * Advanced converters

      * Parameter default values

      * The "NULL" default value

      * Expressions specified as default values

      * Using a return converter

      * Cloning existing functions

      * Calling Python code

      * Using a "self converter"

      * Writing a custom converter

      * Writing a custom return converter

      * METH_O and METH_NOARGS

      * tp_new and tp_init functions

      * Changing and redirecting Clinic's output

      * The #ifdef trick

      * Using Argument Clinic in Python files

  * 使用 DTrace 和 SystemTap 检测CPython

    * 启用静态标记

    * 静态DTrace探针

    * 静态SystemTap标记

    * 可用的静态标记

    * SystemTap Tapsets

    * 例子

* Python 常见问题

  * Python常见问题

    * 一般信息

    * 现实世界中的 Python

  * 编程常见问题

    * 一般问题

    * 核心语言

    * 数字和字符串

    * 性能

    * 序列（元组/列表）

    * Dictionaries

    * 对象

    * 模块

  * 设计和历史常见问题

    * 为什么Python使用缩进来分组语句？

    * 为什么简单的算术运算得到奇怪的结果？

    * 为什么浮点计算不准确？

    * 为什么Python字符串是不可变的？

    * 为什么必须在方法定义和调用中显式使用“self”？

    * 为什么不能在表达式中赋值？

    * 为什么Python对某些功能（例如list.index()）使用方法来实现，而其他
      功能（例如len(List)）使用函数实现？

    * 为什么 join()是一个字符串方法而不是列表或元组方法？

    * 异常有多快？

    * 为什么Python中没有switch或case语句？

    * 难道不能在解释器中模拟线程，而非得依赖特定于操作系统的线程实现吗
      ？

    * 为什么lambda表达式不能包含语句？

    * 可以将Python编译为机器代码，C或其他语言吗？

    * Python如何管理内存？

    * 为什么CPython不使用更传统的垃圾回收方案？

    * CPython退出时为什么不释放所有内存？

    * 为什么有单独的元组和列表数据类型？

    * 列表是如何在CPython中实现的？

    * 字典是如何在CPython中实现的？

    * 为什么字典key必须是不可变的？

    * 为什么 list.sort() 没有返回排序列表？

    * 如何在Python中指定和实施接口规范？

    * 为什么没有goto？

    * 为什么原始字符串（r-strings）不能以反斜杠结尾？

    * 为什么Python没有属性赋值的“with”语句？

    * 为什么 if/while/def/class语句需要冒号？

    * 为什么Python在列表和元组的末尾允许使用逗号？

  * 代码库和插件 FAQ

    * 通用的代码库问题

    * 通用任务

    * 线程相关

    * 输入输出

    * 网络 / 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中
      实现（例如通过继承）？

  * Python在Windows上的常见问题

    * 我怎样在Windows下运行一个Python程序？

    * 我怎么让 Python 脚本可执行？

    * 为什么有时候 Python 程序会启动缓慢？

    * 我怎样使用 Python 脚本制作可执行文件？

    * "*.pyd" 文件和 DLL 文件相同吗？

    * 我怎样将 Python 嵌入一个 Windows 程序？

    * 如何让编辑器不要在我的 Python 源代码中插入 tab ？

    * 如何在不阻塞的情况下检查按键？

  * 图形用户界面（GUI）常见问题

    * 图形界面常见问题

    * Python 是否有平台无关的图形界面工具包？

    * 有哪些Python的GUI工具是某个平台专用的？

    * 有关Tkinter的问题

  * “为什么我的电脑上安装了 Python ？”

    * 什么是 Python？

    * 为什么我的电脑上安装了 Python ？

    * 我能删除 Python 吗？

* 术语对照表

* 文档说明

  * Python 文档的贡献者

* 解决 Bug

  * 文档 Bug

  * 使用 Python 的问题追踪系统

  * 开始为 Python 贡献您的知识

* Copyright

* 历史和许可证

  * 该软件的历史

  * 获取或以其他方式使用 Python 的条款和条件

    * 用于 PYTHON 3.6.15 的 PSF 许可协议

    * 用于 PYTHON 2.0 的 BEOPEN.COM 许可协议

    * 用于 PYTHON 1.6.1 的 CNRI 许可协议

    * 用于 PYTHON 0.9.0 至 1.2 的 CWI 许可协议

  * 被收录软件的许可证与鸣谢

    * Mersenne Twister

    * 套接字

    * Floating point exception control

    * 异步套接字服务

    * Cookie 管理

    * 执行追踪

    * UUencode 与 UUdecode 函数

    * XML 远程过程调用

    * test_epoll

    * Select kqueue

    * SipHash24

    * strtod and dtoa

    * OpenSSL

    * expat

    * libffi

    * zlib

    * cfuhash

    * libmpdec
