Python文档内容
**************

* Python 有什么新变化？

  * Python 3.6 有什么新变化A

    * 摘要 - 发布重点

    * 新的特性

      * PEP 498: 格式化的字符串文字

      * PEP 526: 变量注释的语法

      * PEP 515: 数字文字中的下划线。

      * PEP 525: 异步生成器

      * PEP 530: Asynchronous Comprehensions

      * PEP 487: Simpler customization of class creation

      * PEP 487: Descriptor Protocol Enhancements

      * PEP 519: Adding a file system path protocol

      * PEP 495: Local Time Disambiguation

      * PEP 529: Change Windows filesystem encoding to UTF-8

      * PEP 528: Change Windows console encoding to UTF-8

      * PEP 520: Preserving Class Attribute Definition Order

      * PEP 468: Preserving Keyword Argument Order

      * New *dict* implementation

      * PEP 523: Adding a frame evaluation API to CPython

      * PYTHONMALLOC environment variable

      * DTrace and SystemTap probing support

    * 其他语言特性修改

    * 新增模块

      * secrets

    * 改进的模块

      * array

      * ast

      * asyncio

      * binascii

      * cmath

      * collections

      * concurrent.futures

      * contextlib

      * datetime

      * decimal

      * distutils

      * email

      * encodings

      * enum

      * faulthandler

      * fileinput

      * hashlib

      * http.client

      * idlelib 与 IDLE

      * importlib

      * inspect

      * json

      * logging

      * math

      * multiprocessing

      * os

      * pathlib

      * pdb

      * pickle

      * pickletools

      * pydoc

      * random

      * re

      * readline

      * rlcompleter

      * shlex

      * site

      * sqlite3

      * socket

      * socketserver

      * ssl

      * statistics

      * struct

      * subprocess

      * sys

      * telnetlib

      * time

      * timeit

      * tkinter

      * traceback

      * tracemalloc

      * typing

      * unicodedata

      * unittest.mock

      * urllib.request

      * urllib.robotparser

      * venv

      * warnings

      * winreg

      * winsound

      * xmlrpc.client

      * zipfile

      * zlib

    * 性能优化

    * Build and C API Changes

    * 其他改进

    * 弃用

      * New Keywords

      * 已弃用的 Python 行为

      * 已弃用的 Python 模块、函数和方法

        * asynchat

        * asyncore

        * dbm

        * distutils

        * grp

        * importlib

        * os

        * re

        * ssl

        * tkinter

        * venv

      * xml

      * 已弃用的 C API 函数和类型

      * Deprecated Build Options

    * 移除

      * 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.5 有什么新变化

    * 摘要 - 发布重点

    * 新的特性

      * PEP 492 - Coroutines with async and await syntax

      * PEP 465 - A dedicated infix operator for matrix
        multiplication

      * PEP 448 - Additional Unpacking Generalizations

      * PEP 461 - percent formatting support for bytes and bytearray

      * PEP 484 - Type Hints

      * 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

        * Memory BIO Support

        * Application-Layer Protocol Negotiation Support

        * Other Changes

      * sqlite3

      * subprocess

      * sys

      * sysconfig

      * tarfile

      * threading

      * time

      * timeit

      * tkinter

      * traceback

      * types

      * unicodedata

      * unittest

      * unittest.mock

      * urllib

      * wsgiref

      * xmlrpc

      * xml.sax

      * zipfile

    * Other module-level changes

    * 性能优化

    * Build and C API Changes

    * 弃用

      * New Keywords

      * 已弃用的 Python 行为

      * Unsupported Operating Systems

      * 已弃用的 Python 模块、函数和方法

    * 移除

      * API 与特性的移除

    * Porting to Python 3.5

      * Changes in Python behavior

      * 改变了的Python API

      * C API 中的改变

    * Notable changes in Python 3.5.4

      * New "make regen-all" build target

      * Removal of "make touch" build target

  * What's New In Python 3.4

    * 摘要 - 发布重点

    * 新的特性

      * PEP 453: Explicit Bootstrapping of PIP in Python
        Installations

        * Bootstrapping pip By Default

        * Documentation Changes

      * PEP 446: Newly Created File Descriptors Are Non-Inheritable

      * Improvements to Codec Handling

      * PEP 451: A ModuleSpec Type for the Import System

      * 其他语言特性修改

    * 新增模块

      * asyncio

      * ensurepip

      * enum

      * pathlib

      * selectors

      * statistics

      * tracemalloc

    * 改进的模块

      * abc

      * aifc

      * argparse

      * audioop

      * base64

      * collections

      * colorsys

      * contextlib

      * dbm

      * dis

      * doctest

      * email

      * filecmp

      * functools

      * gc

      * glob

      * hashlib

      * hmac

      * html

      * http

      * idlelib 与 IDLE

      * importlib

      * inspect

      * ipaddress

      * logging

      * marshal

      * mmap

      * multiprocessing

      * operator

      * os

      * pdb

      * pickle

      * plistlib

      * poplib

      * pprint

      * pty

      * pydoc

      * re

      * resource

      * select

      * shelve

      * shutil

      * smtpd

      * smtplib

      * socket

      * sqlite3

      * ssl

      * stat

      * struct

      * subprocess

      * sunau

      * sys

      * tarfile

      * textwrap

      * threading

      * traceback

      * types

      * urllib

      * unittest

      * venv

      * wave

      * weakref

      * xml.etree

      * zipfile

    * CPython Implementation Changes

      * PEP 445: Customization of CPython Memory Allocators

      * PEP 442: Safe Object Finalization

      * PEP 456: Secure and Interchangeable Hash Algorithm

      * PEP 436: Argument Clinic

      * Other Build and C API Changes

      * 其他改进

      * Significant Optimizations

    * 弃用

      * Deprecations in the Python API

      * Deprecated Features

    * 移除

      * Operating Systems No Longer Supported

      * API 与特性的移除

      * Code Cleanups

    * Porting to Python 3.4

      *  'python' 命令行为的变化

      * 改变了的Python API

      * C API 中的改变

    * Changed in 3.4.3

      * PEP 476: Enabling certificate verification by default for
        stdlib http clients

  * What's New In Python 3.3

    * 摘要 - 发布重点

    * PEP 405: Virtual Environments

    * PEP 420: Implicit Namespace Packages

    * PEP 3118: New memoryview implementation and buffer protocol
      documentation

      * 相关特性

      * API changes

    * PEP 393: Flexible String Representation

      * Functionality

      * Performance and resource usage

    * PEP 397: Python Launcher for Windows

    * PEP 3151: Reworking the OS and IO exception hierarchy

    * PEP 380: Syntax for Delegating to a Subgenerator

    * PEP 409: Suppressing exception context

    * PEP 414: Explicit Unicode literals

    * PEP 3155: Qualified name for classes and functions

    * PEP 412: Key-Sharing Dictionary

    * PEP 362: Function Signature Object

    * PEP 421: Adding 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

      * codecs

      * 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

    * 性能优化

    * Build and C API Changes

    * 弃用

      * Unsupported Operating Systems

      * 已弃用的 Python 模块、函数和方法

      * 已弃用的 C API 函数和类型

      * Deprecated features

    * Porting to Python 3.3

      * Porting Python code

      * Porting C code

      * Building C extensions

      * Command Line Switch Changes

  * What's New In Python 3.2

    * PEP 384: Defining a Stable ABI

    * PEP 389: Argparse Command Line Parsing Module

    * PEP 391:  Dictionary Based Configuration for Logging

    * PEP 3148:  The "concurrent.futures" module

    * PEP 3147:  PYC Repository Directories

    * PEP 3149: ABI Version Tagged .so Files

    * PEP 3333: Python Web Server Gateway Interface v1.0.1

    * 其他语言特性修改

    * New, Improved, and Deprecated Modules

      * email

      * elementtree

      * functools

      * itertools

      * collections

      * threading

      * datetime and time

      * math

      * abc

      * io

      * reprlib

      * logging

      * csv

      * contextlib

      * decimal and fractions

      * ftp

      * popen

      * select

      * gzip and 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

    * Code Repository

    * Build and C API Changes

    * Porting to Python 3.2

  * What's New In Python 3.1

    * PEP 372: Ordered Dictionaries

    * PEP 378: Format Specifier for Thousands Separator

    * 其他语言特性修改

    * New, Improved, and Deprecated Modules

    * 性能优化

    * IDLE

    * Build and C API Changes

    * Porting to Python 3.1

  * What's New In Python 3.0

    * Common Stumbling Blocks

      * Print Is A Function

      * Views And Iterators Instead Of Lists

      * Ordering Comparisons

      * Integers

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

    * Overview Of Syntax Changes

      * New Syntax

      * Changed Syntax

      * Removed Syntax

    * 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

    * Build and C API Changes

    * 性能

    * Porting To Python 3.0

  * What's New in Python 2.7

    * The Future for Python 2.x

    * Changes to the Handling of Deprecation Warnings

    * Python 3.1 Features

    * PEP 372: Adding an Ordered Dictionary to collections

    * PEP 378: Format Specifier for Thousands Separator

    * 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

      * 性能优化

    * New and Improved Modules

      * New module: importlib

      * New module: sysconfig

      * ttk: Themed Widgets for Tk

      * Updated module: unittest

      * Updated module: ElementTree 1.3

    * Build and C API Changes

      * 胶囊

      * Port-Specific Changes: Windows

      * Port-Specific Changes: Mac OS X

      * Port-Specific Changes: FreeBSD

    * Other Changes and Fixes

    * Porting to 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

        * Documentation Changes

      * PEP 476: Enabling certificate verification by default for
        stdlib http clients

      * PEP 493: HTTPS verification migration tools for Python 2.7

      * New "make regen-all" build target

      * Removal of "make touch" build target

    * Acknowledgements

  * Python 2.6 有什么新变化

    * Python 3.0

    * Changes to the Development Process

      * New Issue Tracker: Roundup

      * New Documentation Format: reStructuredText Using Sphinx

    * PEP 343: The 'with' statement

      * Writing Context Managers

      * The contextlib module

    * PEP 366: Explicit Relative Imports From a Main Module

    * PEP 370: Per-user "site-packages" Directory

    * PEP 371: The "multiprocessing" Package

    * PEP 3101: Advanced String Formatting

    * PEP 3105: "print" As a Function

    * PEP 3110: Exception-Handling Changes

    * PEP 3112: Byte Literals

    * PEP 3116: New I/O Library

    * PEP 3118: Revised Buffer Protocol

    * PEP 3119: Abstract Base Classes

    * PEP 3127: Integer Literal Support and Syntax

    * PEP 3129: Class Decorators

    * PEP 3141: A Type Hierarchy for Numbers

      * The "fractions" Module

    * 其他语言特性修改

      * 性能优化

      * Interpreter Changes

    * New and Improved Modules

      * The "ast" module

      * The "future_builtins" module

      * The "json" module: JavaScript Object Notation

      * The "plistlib" module: A Property-List Parser

      * ctypes Enhancements

      * Improved SSL Support

    * Deprecations and Removals

    * Build and C API Changes

      * Port-Specific Changes: Windows

      * Port-Specific Changes: Mac OS X

      * Port-Specific Changes: IRIX

    * Porting to Python 2.6

    * Acknowledgements

  * What's New in Python 2.5

    * PEP 308: Conditional Expressions

    * PEP 309: Partial Function Application

    * PEP 314: Metadata for Python Software Packages v1.1

    * PEP 328: Absolute and Relative Imports

    * PEP 338: Executing Modules as Scripts

    * PEP 341: Unified try/except/finally

    * PEP 342: New Generator Features

    * PEP 343: The 'with' statement

      * Writing Context Managers

      * The contextlib module

    * PEP 352: Exceptions as New-Style Classes

    * PEP 353: Using ssize_t as the index type

    * PEP 357: The '__index__' method

    * 其他语言特性修改

      * Interactive Interpreter Changes

      * 性能优化

    * New, Improved, and Removed Modules

      * The ctypes package

      * The ElementTree package

      * The hashlib package

      * The sqlite3 package

      * The wsgiref package

    * Build and C API Changes

      * Port-Specific Changes

    * Porting to Python 2.5

    * Acknowledgements

  * What's New in Python 2.4

    * PEP 218: Built-In Set Objects

    * PEP 237: Unifying Long Integers and Integers

    * PEP 289: Generator Expressions

    * PEP 292: Simpler String Substitutions

    * PEP 318: Decorators for Functions and Methods

    * PEP 322: Reverse Iteration

    * PEP 324: New subprocess Module

    * PEP 327: Decimal Data Type

      * Why is Decimal needed?

      * The "Decimal" type

      * The "Context" type

    * PEP 328: Multi-line Imports

    * PEP 331: Locale-Independent Float/String Conversions

    * 其他语言特性修改

      * 性能优化

    * New, Improved, and Deprecated Modules

      * cookielib

      * doctest

    * Build and C API Changes

      * Port-Specific Changes

    * Porting to Python 2.4

    * Acknowledgements

  * What's New in Python 2.3

    * PEP 218: A Standard Set Datatype

    * PEP 255: Simple Generators

    * PEP 263: Source Code Encodings

    * PEP 273: Importing Modules from ZIP Archives

    * PEP 277: Unicode file name support for Windows NT

    * PEP 278: Universal Newline Support

    * PEP 279: enumerate()

    * PEP 282: The logging Package

    * PEP 285: A Boolean Type

    * PEP 293: Codec Error Handling Callbacks

    * PEP 301: Package Index and Metadata for Distutils

    * PEP 302: New Import Hooks

    * PEP 305: Comma-separated Files

    * PEP 307: Pickle Enhancements

    * Extended Slices

    * 其他语言特性修改

      * String Changes

      * 性能优化

    * New, Improved, and Deprecated Modules

      * Date/Time Type

      * The optparse Module

    * Pymalloc: A Specialized Object Allocator

    * Build and C API Changes

      * Port-Specific Changes

    * Other Changes and Fixes

    * Porting to Python 2.3

    * Acknowledgements

  * What's New in 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: Unifying Long Integers and Integers

    * PEP 238: Changing the Division Operator

    * Unicode Changes

    * PEP 227: Nested Scopes

    * New and Improved Modules

    * Interpreter Changes and Fixes

    * Other Changes and Fixes

    * Acknowledgements

  * What's New in 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

    * New and Improved Modules

    * Other Changes and Fixes

    * Acknowledgements

  * Python 2.0 有什么新变化

    * 概述

    * What About Python 1.6?

    * New Development Process

    * Unicode

    * 列表推导式

    * Augmented Assignment

    * 字符串的方法

    * Garbage Collection of Cycles

    * Other Core Changes

      * Minor Language Changes

      * Changes to Built-in Functions

    * Porting to 2.0

    * Extending/Embedding Changes

    * Distutils: Making Modules Easy to Install

    * XML Modules

      * SAX2 Support

      * DOM Support

      * Relationship to PyXML

    * Module changes

    * New modules

    * IDLE Improvements

    * Deleted and Deprecated Modules

    * Acknowledgements

  * 更新日志

    * Python 下一版

      * 安全

      * 库

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

    * Python 3.6.6 RC 1

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.5 final

      * 测试

      * 构建

    * Python 3.6.5 release candidate 1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.4 final

    * Python 3.6.4 release candidate 1

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * macOS

      * IDLE

      * 工具/示例

      * C API

    * Python 3.6.3 final

      * 库

      * 构建

    * Python 3.6.3 release candidate 1

      * 安全

      * 核心与内置

      * 库

      * 文档

      * 测试

      * 构建

      * Windows

      * IDLE

      * 工具/示例

    * Python 3.6.2 final

    * Python 3.6.2 release candidate 2

      * 安全

    * Python 3.6.2 release candidate 1

      * 核心与内置

      * 库

      * 安全

      * 库

      * IDLE

      * C API

      * 构建

      * 文档

      * 工具/示例

      * 测试

      * Windows

    * Python 3.6.1 final

      * 核心与内置

      * 构建

    * Python 3.6.1 release candidate 1

      * 核心与内置

      * 库

      * IDLE

      * Windows

      * C API

      * 文档

      * 测试

      * 构建

    * Python 3.6.0 final

    * Python 3.6.0 release candidate 2

      * 核心与内置

      * 工具/示例

      * Windows

      * 构建

    * Python 3.6.0 release candidate 1

      * 核心与内置

      * 库

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

    * Python 3.5.3 release candidate 1

      * 核心与内置

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * C API

      * 文档

      * 测试

      * 工具/示例

      * Windows

      * 构建

    * Python 3.5.2 final

      * 核心与内置

      * 测试

      * IDLE

    * Python 3.5.2 release candidate 1

      * 核心与内置

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * 安全

      * 库

      * IDLE

      * 文档

      * 测试

      * 构建

      * Windows

      * 工具/示例

      * Windows

    * Python 3.5.1 final

      * 核心与内置

      * Windows

    * Python 3.5.1 release candidate 1

      * 核心与内置

      * 库

      * IDLE

      * 文档

      * 测试

      * 构建

      * Windows

      * 工具/示例

    * Python 3.5.0 final

      * 构建

    * Python 3.5.0 release candidate 4

      * 库

      * 构建

    * Python 3.5.0 release candidate 3

      * 核心与内置

      * 库

    * Python 3.5.0 release candidate 2

      * 核心与内置

      * 库

    * Python 3.5.0 release candidate 1

      * 核心与内置

      * 库

      * 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. Priority Queue Implementation Notes

      * 8.5.3. Theory

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

      * 8.6.1. 搜索有序列表

      * 8.6.2. 其他示例

    * 8.7. "array" --- Efficient arrays of numeric values

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

      * 8.8.1. 弱引用对象

      * 8.8.2. 示例

      * 8.8.3. Finalizer Objects

      * 8.8.4. Comparing finalizers with "__del__()" methods

    * 8.9. "types" --- Dynamic type creation and names for built-in
      types

      * 8.9.1. Dynamic Type Creation

      * 8.9.2. Standard Interpreter Types

      * 8.9.3. Additional Utility Classes and Functions

      * 8.9.4. Coroutine Utility Functions

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

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

      * 8.11.1. PrettyPrinter Objects

      * 8.11.2. 示例

    * 8.12. "reprlib" --- Alternate "repr()" implementation

      * 8.12.1. Repr Objects

      * 8.12.2. Subclassing Repr Objects

    * 8.13. "enum" --- Support for enumerations

      * 8.13.1. 模块内容

      * 8.13.2. Creating an Enum

      * 8.13.3. Programmatic access to enumeration members and their
        attributes

      * 8.13.4. Duplicating enum members and values

      * 8.13.5. Ensuring unique enumeration values

      * 8.13.6. Using automatic values

      * 8.13.7. Iteration

      * 8.13.8. 比较

      * 8.13.9. Allowed members and attributes of enumerations

      * 8.13.10. Restricted subclassing of enumerations

      * 8.13.11. Pickling

      * 8.13.12. Functional API

      * 8.13.13. Derived Enumerations

        * 8.13.13.1. IntEnum

        * 8.13.13.2. IntFlag

        * 8.13.13.3. 标志

        * 8.13.13.4. Others

      * 8.13.14. Interesting examples

        * 8.13.14.1. Omitting values

          * 8.13.14.1.1. Using "auto"

          * 8.13.14.1.2. Using "object"

          * 8.13.14.1.3. Using a descriptive string

          * 8.13.14.1.4. Using a custom "__new__()"

        * 8.13.14.2. OrderedEnum

        * 8.13.14.3. DuplicateFreeEnum

        * 8.13.14.4. Planet

      * 8.13.15. How are Enums different?

        * 8.13.15.1. Enum Classes

        * 8.13.15.2. Enum Members (aka instances)

        * 8.13.15.3. Finer Points

          * 8.13.15.3.1. Supported "__dunder__" names

          * 8.13.15.3.2. Supported "_sunder_" names

          * 8.13.15.3.3. "Enum" member type

          * 8.13.15.3.4. Boolean value of "Enum" classes and members

          * 8.13.15.3.5. "Enum" classes with methods

          * 8.13.15.3.6. Combining members of "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. Logical operands

      * 9.4.3. Context objects

      * 9.4.4. 常数

      * 9.4.5. Rounding modes

      * 9.4.6. Signals

      * 9.4.7. Floating Point Notes

        * 9.4.7.1. Mitigating round-off error with increased
          precision

        * 9.4.7.2. Special values

      * 9.4.8. Working with threads

      * 9.4.9. Recipes

      * 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" --- Mathematical statistics functions

      * 9.7.1. Averages and measures of central location

      * 9.7.2. Measures of spread

      * 9.7.3. Function details

      * 9.7.4. 异常

  * 10. 函数式编程模块

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

      * 10.1.1. Itertool函数

      * 10.1.2. Itertools食谱

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

      * 10.2.1. "partial" Objects

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

      * 10.3.1. Mapping Operators to Functions

      * 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" --- Iterate over lines from multiple input
      streams

    * 11.4. "stat" --- Interpreting "stat()" results

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

      * 11.5.1. "dircmp" 类

    * 11.6. "tempfile" --- Generate temporary files and directories

      * 11.6.1. 示例

      * 11.6.2. Deprecated functions and variables

    * 11.7. "glob" --- Unix style pathname pattern expansion

    * 11.8. "fnmatch" --- Unix filename pattern matching

    * 11.9. "linecache" --- Random access to text lines

    * 11.10. "shutil" --- High-level file operations

      * 11.10.1. Directory and files operations

        * 11.10.1.1. copytree example

        * 11.10.1.2. rmtree example

      * 11.10.2. Archiving operations

        * 11.10.2.1. Archiving example

      * 11.10.3. Querying the size of the output terminal

    * 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. What can be pickled and unpickled?

      * 12.1.5. Pickling Class Instances

        * 12.1.5.1. Persistence of External Objects

        * 12.1.5.2. Dispatch Tables

        * 12.1.5.3. Handling Stateful Objects

      * 12.1.6. Restricting Globals

      * 12.1.7. 性能

      * 12.1.8. 示例

    * 12.2. "copyreg" --- Register "pickle" support functions

      * 12.2.1. 示例

    * 12.3. "shelve" --- Python object persistence

      * 12.3.1. Restrictions

      * 12.3.2. 示例

    * 12.4. "marshal" --- Internal Python object serialization

    * 12.5. "dbm" --- Interfaces to Unix "databases"

      * 12.5.1. "dbm.gnu" --- GNU's reinterpretation of dbm

      * 12.5.2. "dbm.ndbm" --- Interface based on ndbm

      * 12.5.3. "dbm.dumb" --- Portable DBM implementation

    * 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. Using adapters to store additional Python types
          in SQLite databases

          * 12.6.6.2.1. Letting your object adapt itself

          * 12.6.6.2.2. Registering an adapter callable

        * 12.6.6.3. Converting SQLite values to custom Python types

        * 12.6.6.4. Default adapters and converters

      * 12.6.7. Controlling Transactions

      * 12.6.8. Using "sqlite3" efficiently

        * 12.6.8.1. Using shortcut methods

        * 12.6.8.2. Accessing columns by name instead of by index

        * 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. Compressing and decompressing data in memory

      * 13.4.3. 杂项

      * 13.4.4. Specifying custom filter chains

      * 13.4.5. 示例

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

      * 13.5.1. ZipFile 对象

      * 13.5.2. PyZipFile Objects

      * 13.5.3. ZipInfo Objects

      * 13.5.4. 命令行界面

        * 13.5.4.1. 命令行选项

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

      * 13.6.1. TarFile Objects

      * 13.6.2. TarInfo Objects

      * 13.6.3. 命令行界面

        * 13.6.3.1. 命令行选项

      * 13.6.4. 示例

      * 13.6.5. Supported tar formats

      * 13.6.6. Unicode issues

  * 14. 文件格式

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

      * 14.1.1. 模块内容

      * 14.1.2. Dialects and Formatting Parameters

      * 14.1.3. Reader Objects

      * 14.1.4. Writer Objects

      * 14.1.5. 示例

    * 14.2. "configparser" --- Configuration file parser

      * 14.2.1. Quick Start

      * 14.2.2. Supported Datatypes

      * 14.2.3. Fallback Values

      * 14.2.4. Supported INI File Structure

      * 14.2.5. Interpolation of values

      * 14.2.6. Mapping Protocol Access

      * 14.2.7. Customizing Parser Behaviour

      * 14.2.8. Legacy API Examples

      * 14.2.9. ConfigParser Objects

      * 14.2.10. RawConfigParser Objects

      * 14.2.11. 异常

    * 14.3. "netrc" --- netrc file processing

      * 14.3.1. netrc Objects

    * 14.4. "xdrlib" --- Encode and decode XDR data

      * 14.4.1. Packer Objects

      * 14.4.2. Unpacker Objects

      * 14.4.3. 异常

    * 14.5. "plistlib" --- Generate and parse Mac OS X ".plist"
      files

      * 14.5.1. 示例

  * 15. 加密服务

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

      * 15.1.1. 哈希算法

      * 15.1.2. SHAKE variable length digests

      * 15.1.3. Key derivation

      * 15.1.4. BLAKE2

        * 15.1.4.1. Creating hash objects

        * 15.1.4.2. 常数

        * 15.1.4.3. 示例

          * 15.1.4.3.1. Simple hashing

          * 15.1.4.3.2. Using different digest sizes

          * 15.1.4.3.3. Keyed hashing

          * 15.1.4.3.4. Randomized hashing

          * 15.1.4.3.5. Personalization

          * 15.1.4.3.6. Tree mode

        * 15.1.4.4. Credits

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

    * 15.3. "secrets" --- Generate secure random numbers for
      managing secrets

      * 15.3.1. Random numbers

      * 15.3.2. Generating tokens

        * 15.3.2.1. How many bytes should tokens use?

      * 15.3.3. 其他功能

      * 15.3.4. Recipes and best practices

  * 16. 通用操作系统服务

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

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

      * 16.1.2. 进程参数

      * 16.1.3. 创建文件对象

      * 16.1.4. 文件描述符操作

        * 16.1.4.1. Querying the size of a terminal

        * 16.1.4.2. Inheritance of File Descriptors

      * 16.1.5. Files and Directories

        * 16.1.5.1. Linux extended attributes

      * 16.1.6. Process Management

      * 16.1.7. Interface to the scheduler

      * 16.1.8. Miscellaneous System Information

      * 16.1.9. Random numbers

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

      * 16.2.1. 概述

        * 16.2.1.1. Text I/O

        * 16.2.1.2. Binary I/O

        * 16.2.1.3. Raw I/O

      * 16.2.2. High-level Module Interface

        * 16.2.2.1. In-memory streams

      * 16.2.3. Class hierarchy

        * 16.2.3.1. I/O Base Classes

        * 16.2.3.2. Raw File I/O

        * 16.2.3.3. Buffered Streams

        * 16.2.3.4. Text I/O

      * 16.2.4. 性能

        * 16.2.4.1. Binary I/O

        * 16.2.4.2. Text I/O

        * 16.2.4.3. 多线程

        * 16.2.4.4. Reentrancy

    * 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. default

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

      * 16.4.4. parse_args() 方法

        * 16.4.4.1. Option value syntax

        * 16.4.4.2. 无效的参数

        * 16.4.4.3. 包含 "-" 的参数

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

        * 16.4.4.5. Beyond "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. Mutual exclusion

        * 16.4.5.5. Parser defaults

        * 16.4.5.6. 打印帮助

        * 16.4.5.7. Partial parsing

        * 16.4.5.8. 自定义文件解析

        * 16.4.5.9. 退出方法

      * 16.4.6. 升级 optparse 代码

    * 16.5. "getopt" --- C-style parser for command line options

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

      * 16.6.1. Logger 对象

      * 16.6.2. 日志级别

      * 16.6.3. Handler Objects

      * 16.6.4. Formatter Objects

      * 16.6.5. Filter Objects

      * 16.6.6. LogRecord Objects

      * 16.6.7. LogRecord attributes

      * 16.6.8. LoggerAdapter Objects

      * 16.6.9. 线程安全

      * 16.6.10. 模块级别函数

      * 16.6.11. Module-Level Attributes

      * 16.6.12. Integration with the warnings module

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

      * 16.7.1. Configuration functions

      * 16.7.2. Configuration dictionary schema

        * 16.7.2.1. Dictionary Schema Details

        * 16.7.2.2. Incremental Configuration

        * 16.7.2.3. Object connections

        * 16.7.2.4. User-defined objects

        * 16.7.2.5. Access to external objects

        * 16.7.2.6. Access to internal objects

        * 16.7.2.7. Import resolution and custom importers

      * 16.7.3. Configuration file format

    * 16.8. "logging.handlers" --- 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 Objects

      * 16.10.3. 常量

    * 16.11. "curses.textpad" --- Text input widget for curses
      programs

      * 16.11.1. 文本框对象

    * 16.12. "curses.ascii" --- Utilities for ASCII characters

    * 16.13. "curses.panel" --- A panel stack extension for curses

      * 16.13.1. 函数

      * 16.13.2. Panel Objects

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

    * 16.15. "errno" --- Standard errno system symbols

    * 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. Specifying the required argument types
          (function prototypes)

        * 16.16.1.8. Return types

        * 16.16.1.9. Passing pointers (or: passing parameters by
          reference)

        * 16.16.1.10. Structures and unions

        * 16.16.1.11. Structure/union alignment and byte order

        * 16.16.1.12. Bit fields in structures and unions

        * 16.16.1.13. Arrays

        * 16.16.1.14. Pointers

        * 16.16.1.15. Type conversions

        * 16.16.1.16. Incomplete Types

        * 16.16.1.17. Callback functions

        * 16.16.1.18. Accessing values exported from dlls

        * 16.16.1.19. Surprises

        * 16.16.1.20. Variable-sized data types

      * 16.16.2. ctypes reference

        * 16.16.2.1. Finding shared libraries

        * 16.16.2.2. Loading shared libraries

        * 16.16.2.3. Foreign functions

        * 16.16.2.4. Function prototypes

        * 16.16.2.5. Utility functions

        * 16.16.2.6. Data types

        * 16.16.2.7. 基础数据类型

        * 16.16.2.8. Structured data types

        * 16.16.2.9. Arrays and pointers

  * 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. Shared "ctypes" Objects

          * 17.2.2.6.1. The "multiprocessing.sharedctypes" module

        * 17.2.2.7. Managers

          * 17.2.2.7.1. Customized managers

          * 17.2.2.7.2. Using a remote manager

        * 17.2.2.8. 代理对象

          * 17.2.2.8.1. Cleanup

        * 17.2.2.9. 进程池

        * 17.2.2.10. Listeners and Clients

          * 17.2.2.10.1. Address Formats

        * 17.2.2.11. Authentication keys

        * 17.2.2.12. 日志

        * 17.2.2.13. The "multiprocessing.dummy" module

      * 17.2.3. Programming guidelines

        * 17.2.3.1. All start methods

        * 17.2.3.2. The *spawn* and *forkserver* start methods

      * 17.2.4. 示例

    * 17.3. "concurrent" 包

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

      * 17.4.1. 执行器对象

      * 17.4.2. ThreadPoolExecutor

        * 17.4.2.1. ThreadPoolExecutor 例子

      * 17.4.3. ProcessPoolExecutor

        * 17.4.3.1. ProcessPoolExecutor 例子

      * 17.4.4. 期程对象

      * 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. Older high-level API

      * 17.5.6. Replacing Older Functions with the "subprocess"
        Module

        * 17.5.6.1. Replacing /bin/sh shell backquote

        * 17.5.6.2. Replacing shell pipeline

        * 17.5.6.3. Replacing "os.system()"

        * 17.5.6.4. Replacing the "os.spawn" family

        * 17.5.6.5. Replacing "os.popen()", "os.popen2()",
          "os.popen3()"

        * 17.5.6.6. Replacing functions from the "popen2" module

      * 17.5.7. Legacy Shell Invocation Functions

      * 17.5.8. 注释

        * 17.5.8.1. Converting an argument sequence to a string on
          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. Creating sockets

          * 18.1.2.3.2. 其他功能

      * 18.1.3. Socket Objects

      * 18.1.4. Notes on socket timeouts

        * 18.1.4.1. Timeouts and the "connect" method

        * 18.1.4.2. Timeouts and the "accept" method

      * 18.1.5. 示例

    * 18.2. "ssl" --- TLS/SSL wrapper for socket objects

      * 18.2.1. Functions, Constants, and Exceptions

        * 18.2.1.1. Socket creation

        * 18.2.1.2. Context creation

        * 18.2.1.3. Random generation

        * 18.2.1.4. Certificate handling

        * 18.2.1.5. 常数

      * 18.2.2. SSL Sockets

      * 18.2.3. SSL Contexts

      * 18.2.4. Certificates

        * 18.2.4.1. Certificate chains

        * 18.2.4.2. CA certificates

        * 18.2.4.3. Combined key and certificate

        * 18.2.4.4. Self-signed certificates

      * 18.2.5. 示例

        * 18.2.5.1. Testing for SSL support

        * 18.2.5.2. Client-side operation

        * 18.2.5.3. Server-side operation

      * 18.2.6. Notes on non-blocking sockets

      * 18.2.7. Memory BIO Support

      * 18.2.8. SSL session

      * 18.2.9. Security considerations

        * 18.2.9.1. Best defaults

        * 18.2.9.2. Manual settings

          * 18.2.9.2.1. Verifying certificates

          * 18.2.9.2.2. Protocol versions

          * 18.2.9.2.3. Cipher selection

        * 18.2.9.3. Multi-processing

      * 18.2.10. LibreSSL support

    * 18.3. "select" --- Waiting for I/O completion

      * 18.3.1. "/dev/poll" Polling Objects

      * 18.3.2. Edge and Level Trigger Polling (epoll) Objects

      * 18.3.3. Polling Objects

      * 18.3.4. Kqueue Objects

      * 18.3.5. Kevent Objects

    * 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 echo client using streams

          * 18.5.5.7.2. TCP echo server using streams

          * 18.5.5.7.3. Get HTTP headers

          * 18.5.5.7.4. Register an open socket to wait for data
            using streams

      * 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 Example basic HTTP client

      * 18.6.2. asyncore Example basic echo server

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

      * 18.7.1. asynchat Example

    * 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": Representing an email message

      * 19.1.2. "email.parser": Parsing email messages

        * 19.1.2.1. FeedParser API

        * 19.1.2.2. Parser API

        * 19.1.2.3. Additional notes

      * 19.1.3. "email.generator": Generating MIME documents

      * 19.1.4. "email.policy": Policy Objects

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

      * 19.1.6. "email.headerregistry": Custom Header Objects

      * 19.1.7. "email.contentmanager": Managing MIME Content

        * 19.1.7.1. Content Manager Instances

      * 19.1.8. "email": 示例

      * 19.1.9. "email.message.Message": Representing an email
        message using the "compat32" API

      * 19.1.10. "email.mime": Creating email and MIME objects from
        scratch

      * 19.1.11. "email.header": Internationalized headers

      * 19.1.12. "email.charset": Representing character sets

      * 19.1.13. "email.encoders": Encoders

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

      * 19.1.15. "email.iterators": Iterators

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

      * 19.2.1. 基本使用

      * 19.2.2. 编码器和解码器

      * 19.2.3. 异常

      * 19.2.4. Standard Compliance and Interoperability

        * 19.2.4.1. Character Encodings

        * 19.2.4.2. Infinite and NaN Number Values

        * 19.2.4.3. Repeated Names Within an Object

        * 19.2.4.4. Top-level Non-Object, Non-Array Values

        * 19.2.4.5. Implementation Limitations

      * 19.2.5. Command Line Interface

        * 19.2.5.1. Command line options

    * 19.3. "mailcap" --- Mailcap file handling

    * 19.4. "mailbox" --- Manipulate mailboxes in various formats

      * 19.4.1. "Mailbox" objects

        * 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" objects

        * 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" --- Map filenames to MIME types

      * 19.5.1. MimeTypes Objects

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

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

      * 19.7.1. 注释

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

    * 19.9. "quopri" --- Encode and decode MIME quoted-printable
      data

    * 19.10. "uu" --- Encode and decode uuencode files

  * 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" --- The ElementTree XML API

      * 20.5.1. 教程

        * 20.5.1.1. XML tree and elements

        * 20.5.1.2. Parsing XML

        * 20.5.1.3. Pull API for non-blocking parsing

        * 20.5.1.4. Finding interesting elements

        * 20.5.1.5. Modifying an XML File

        * 20.5.1.6. Building XML documents

        * 20.5.1.7. Parsing XML with Namespaces

        * 20.5.1.8. Additional resources

      * 20.5.2. XPath support

        * 20.5.2.1. 示例

        * 20.5.2.2. Supported XPath syntax

      * 20.5.3. 参考引用

        * 20.5.3.1. 函数

        * 20.5.3.2. Element Objects

        * 20.5.3.3. ElementTree Objects

        * 20.5.3.4. QName Objects

        * 20.5.3.5. TreeBuilder Objects

        * 20.5.3.6. XMLParser Objects

        * 20.5.3.7. XMLPullParser Objects

        * 20.5.3.8. 异常

    * 20.6. "xml.dom" --- The Document Object Model API

      * 20.6.1. 模块内容

      * 20.6.2. Objects in the DOM

        * 20.6.2.1. DOMImplementation Objects

        * 20.6.2.2. Node Objects

        * 20.6.2.3. NodeList Objects

        * 20.6.2.4. DocumentType Objects

        * 20.6.2.5. Document Objects

        * 20.6.2.6. Element Objects

        * 20.6.2.7. Attr Objects

        * 20.6.2.8. NamedNodeMap Objects

        * 20.6.2.9. Comment Objects

        * 20.6.2.10. Text and CDATASection Objects

        * 20.6.2.11. ProcessingInstruction Objects

        * 20.6.2.12. 异常

      * 20.6.3. Conformance

        * 20.6.3.1. Type Mapping

        * 20.6.3.2. Accessor Methods

    * 20.7. "xml.dom.minidom" --- Minimal DOM implementation

      * 20.7.1. DOM Objects

      * 20.7.2. DOM Example

      * 20.7.3. minidom and the DOM standard

    * 20.8. "xml.dom.pulldom" --- Support for building partial DOM
      trees

      * 20.8.1. DOMEventStream Objects

    * 20.9. "xml.sax" --- Support for SAX2 parsers

      * 20.9.1. SAXException Objects

    * 20.10. "xml.sax.handler" --- Base classes for SAX handlers

      * 20.10.1. ContentHandler Objects

      * 20.10.2. DTDHandler Objects

      * 20.10.3. EntityResolver Objects

      * 20.10.4. ErrorHandler Objects

    * 20.11. "xml.sax.saxutils" --- SAX Utilities

    * 20.12. "xml.sax.xmlreader" --- Interface for XML parsers

      * 20.12.1. XMLReader Objects

      * 20.12.2. IncrementalParser Objects

      * 20.12.3. Locator Objects

      * 20.12.4. InputSource Objects

      * 20.12.5. The "Attributes" Interface

      * 20.12.6. The "AttributesNS" Interface

    * 20.13. "xml.parsers.expat" --- Fast XML parsing using Expat

      * 20.13.1. XMLParser Objects

      * 20.13.2. ExpatError Exceptions

      * 20.13.3. 示例

      * 20.13.4. Content Model Descriptions

      * 20.13.5. Expat error constants

  * 21. 互联网协议和支持

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

      * 21.1.1. 浏览器控制器对象

    * 21.2. "cgi" --- Common Gateway Interface support

      * 21.2.1. 概述

      * 21.2.2. 使用cgi模块。

      * 21.2.3. Higher Level Interface

      * 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" --- Traceback manager for CGI scripts

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

      * 21.6.2. OpenerDirector Objects

      * 21.6.3. BaseHandler Objects

      * 21.6.4. HTTPRedirectHandler Objects

      * 21.6.5. HTTPCookieProcessor Objects

      * 21.6.6. ProxyHandler Objects

      * 21.6.7. HTTPPasswordMgr Objects

      * 21.6.8. HTTPPasswordMgrWithPriorAuth Objects

      * 21.6.9. AbstractBasicAuthHandler Objects

      * 21.6.10. HTTPBasicAuthHandler Objects

      * 21.6.11. ProxyBasicAuthHandler Objects

      * 21.6.12. AbstractDigestAuthHandler Objects

      * 21.6.13. HTTPDigestAuthHandler Objects

      * 21.6.14. ProxyDigestAuthHandler Objects

      * 21.6.15. HTTPHandler Objects

      * 21.6.16. HTTPSHandler Objects

      * 21.6.17. FileHandler Objects

      * 21.6.18. DataHandler Objects

      * 21.6.19. FTPHandler Objects

      * 21.6.20. CacheFTPHandler Objects

      * 21.6.21. UnknownHandler Objects

      * 21.6.22. HTTPErrorProcessor Objects

      * 21.6.23. 示例

      * 21.6.24. Legacy interface

      * 21.6.25. "urllib.request" Restrictions

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

    * 21.8. "urllib.parse" --- Parse URLs into components

      * 21.8.1. URL Parsing

      * 21.8.2. Parsing ASCII Encoded Bytes

      * 21.8.3. Structured Parse Results

      * 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 protocol client

      * 21.13.1. FTP Objects

      * 21.13.2. FTP_TLS Objects

    * 21.14. "poplib" --- POP3 protocol client

      * 21.14.1. POP3 Objects

      * 21.14.2. POP3 Example

    * 21.15. "imaplib" --- IMAP4 protocol client

      * 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. Utility functions

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

      * 21.17.1. SMTP Objects

      * 21.17.2. SMTP Example

    * 21.18. "smtpd" --- SMTP Server

      * 21.18.1. SMTPServer Objects

      * 21.18.2. DebuggingServer Objects

      * 21.18.3. PureProxy Objects

      * 21.18.4. MailmanProxy Objects

      * 21.18.5. SMTPChannel Objects

    * 21.19. "telnetlib" --- Telnet client

      * 21.19.1. Telnet Objects

      * 21.19.2. Telnet Example

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

      * 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 state management

      * 21.23.1. Cookie Objects

      * 21.23.2. Morsel Objects

      * 21.23.3. 示例

    * 21.24. "http.cookiejar" --- Cookie handling for HTTP clients

      * 21.24.1. CookieJar and FileCookieJar Objects

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

      * 21.24.3. CookiePolicy Objects

      * 21.24.4. DefaultCookiePolicy Objects

      * 21.24.5. Cookie Objects

      * 21.24.6. 示例

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

    * 21.26. "xmlrpc.client" --- XML-RPC client access

      * 21.26.1. ServerProxy Objects

      * 21.26.2. DateTime 对象

      * 21.26.3. Binary Objects

      * 21.26.4. Fault Objects

      * 21.26.5. ProtocolError Objects

      * 21.26.6. MultiCall Objects

      * 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" --- Basic XML-RPC servers

      * 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 manipulation library

      * 21.28.1. Convenience factory functions

      * 21.28.2. IP Addresses

        * 21.28.2.1. Address objects

        * 21.28.2.2. Conversion to Strings and Integers

        * 21.28.2.3. 运算符

          * 21.28.2.3.1. Comparison operators

          * 21.28.2.3.2. Arithmetic operators

      * 21.28.3. IP Network definitions

        * 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. Iteration

          * 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" --- Manipulate raw audio data

    * 22.2. "aifc" --- Read and write AIFF and AIFC files

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

      * 22.3.1. AU_read Objects

      * 22.3.2. AU_write Objects

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

      * 22.4.1. Wave_read对象

      * 22.4.2. Wave_write 对象

    * 22.5. "chunk" --- Read IFF chunked data

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

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

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

    * 22.9. "ossaudiodev" --- Access to OSS-compatible audio devices

      * 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. Class-based API

        * 23.1.2.1. The "NullTranslations" class

        * 23.1.2.2. The "GNUTranslations" class

        * 23.1.2.3. Solaris message catalog support

        * 23.1.2.4. The Catalog constructor

      * 23.1.3. Internationalizing your programs and modules

        * 23.1.3.1. Localizing your module

        * 23.1.3.2. Localizing your application

        * 23.1.3.3. Changing languages on the fly

        * 23.1.3.4. Deferred translations

      * 23.1.4. Acknowledgements

    * 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 themed widgets

      * 25.2.1. Using Ttk

      * 25.2.2. Ttk Widgets

      * 25.2.3. Widget

        * 25.2.3.1. Standard Options

        * 25.2.3.2. Scrollable Widget Options

        * 25.2.3.3. Label Options

        * 25.2.3.4. Compatibility Options

        * 25.2.3.5. Widget States

        * 25.2.3.6. ttk.Widget

      * 25.2.4. Combobox

        * 25.2.4.1. 选项

        * 25.2.4.2. Virtual events

        * 25.2.4.3. ttk.Combobox

      * 25.2.5. Notebook

        * 25.2.5.1. 选项

        * 25.2.5.2. Tab Options

        * 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" --- Extension widgets for 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. Format menu (Editor window only)

        * 25.5.1.4. Run menu (Editor window only)

        * 25.5.1.5. Shell menu (Shell window only)

        * 25.5.1.6. Debug menu (Shell window only)

        * 25.5.1.7. Options menu (Shell and Editor)

        * 25.5.1.8. Window menu (Shell and Editor)

        * 25.5.1.9. Help menu (Shell and Editor)

        * 25.5.1.10. Context Menus

      * 25.5.2. Editing and navigation

        * 25.5.2.1. Editor windows

        * 25.5.2.2. Key bindings

        * 25.5.2.3. Automatic indentation

        * 25.5.2.4. Completions

        * 25.5.2.5. Calltips

        * 25.5.2.6. Python Shell window

        * 25.5.2.7. Text colors

      * 25.5.3. Startup and code execution

        * 25.5.3.1. Command line usage

        * 25.5.3.2. Startup failure

        * 25.5.3.3. Running user code

        * 25.5.3.4. User output in Shell

        * 25.5.3.5. Developing tkinter applications

        * 25.5.3.6. Running without a subprocess

      * 25.5.4. Help and preferences

        * 25.5.4.1. Help sources

        * 25.5.4.2. Setting preferences

        * 25.5.4.3. IDLE on macOS

        * 25.5.4.4. Extensions

    * 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" --- Documentation generator and online help
      system

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

        * 26.3.6.2. Example Objects

        * 26.3.6.3. DocTestFinder objects

        * 26.3.6.4. DocTestParser objects

        * 26.3.6.5. DocTestRunner objects

        * 26.3.6.6. OutputChecker objects

      * 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. Signal Handling

    * 26.5. "unittest.mock" --- mock object library

      * 26.5.1. Quick Guide

      * 26.5.2. The Mock Class

        * 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" --- Regression tests package for 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. Debugger Commands

    * 27.4. The Python Profilers

      * 27.4.1. Introduction to the profilers

      * 27.4.2. Instant User's Manual

      * 27.4.3. "profile" and "cProfile" Module Reference

      * 27.4.4. The "Stats" Class

      * 27.4.5. What Is Deterministic Profiling?

      * 27.4.6. Limitations

      * 27.4.7. Calibration

      * 27.4.8. Using a custom timer

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

      * 27.5.1. 基本示例

      * 27.5.2. Python 接口

      * 27.5.3. 命令行界面

      * 27.5.4. 示例

    * 27.6. "trace" --- Trace or track Python statement execution

      * 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. Programmatic Interface

    * 27.7. "tracemalloc" --- Trace memory allocations

      * 27.7.1. 示例

        * 27.7.1.1. Display the top 10

        * 27.7.1.2. Compute differences

        * 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. DomainFilter

        * 27.7.2.3. Filter

        * 27.7.2.4. Frame

        * 27.7.2.5. Snapshot

        * 27.7.2.6. Statistic

        * 27.7.2.7. StatisticDiff

        * 27.7.2.8. Trace

        * 27.7.2.9. Traceback

  * 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. Command Line Interface

    * 29.13. "site" --- Site-specific configuration hook

      * 29.13.1. Readline configuration

      * 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" --- Interpreter base classes

      * 30.1.1. Interactive Interpreter Objects

      * 30.1.2. Interactive Console Objects

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

  * 31. 导入模块

    * 31.1. "zipimport" --- Import modules from Zip archives

      * 31.1.1. zipimporter Objects

      * 31.1.2. 示例

    * 31.2. "pkgutil" --- Package extension utility

    * 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" --- Access Python parse trees

      * 32.1.1. Creating ST Objects

      * 32.1.2. Converting ST Objects

      * 32.1.3. Queries on ST Objects

      * 32.1.4. Exceptions and Error Handling

      * 32.1.5. ST Objects

      * 32.1.6. Example: Emulation of "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" --- Tokenizer for Python source

      * 32.7.1. Tokenizing Input

      * 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" --- Compile Python source files

    * 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. Bytecode analysis

      * 32.12.2. Analysis functions

      * 32.12.3. Python Bytecode Instructions

      * 32.12.4. Opcode collections

    * 32.13. "pickletools" --- Tools for pickle developers

      * 32.13.1. Command line usage

        * 32.13.1.1. Command line options

      * 32.13.2. Programmatic Interface

  * 33. 杂项服务

    * 33.1. "formatter" --- Generic output formatting

      * 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" --- Useful routines from the MS VC++ runtime

      * 34.2.1. File Operations

      * 34.2.2. Console I/O

      * 34.2.3. Other Functions

    * 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" --- The most common POSIX system calls

      * 35.1.1. Large File Support

      * 35.1.2. Notable Module Contents

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

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

    * 35.4. "grp" --- The group database

    * 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 style tty control

      * 35.6.1. 示例

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

    * 35.8. "pty" --- Pseudo-terminal utilities

      * 35.8.1. 示例

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

    * 35.10. "pipes" --- Interface to shell pipelines

      * 35.10.1. Template Objects

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

      * 35.11.1. Resource Limits

      * 35.11.2. Resource Usage

    * 35.12. "nis" --- Interface to Sun's NIS (Yellow Pages)

    * 35.13. Unix syslog 库例程

      * 35.13.1. 示例

        * 35.13.1.1. Simple example

  * 36. 被取代的模块

    * 36.1. "optparse" --- Parser for command line options

      * 36.1.1. Background

        * 36.1.1.1. Terminology

        * 36.1.1.2. What are options for?

        * 36.1.1.3. What are positional arguments for?

      * 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. Default values

        * 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. Reference Guide

        * 36.1.3.1. Creating the parser

        * 36.1.3.2. Populating the parser

        * 36.1.3.3. Defining options

        * 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. Cleanup

        * 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. Attribute Management

        * 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. A Cookbook Approach

      * 5.2. Differences Between Unix and Windows

      * 5.3. Using DLLs in Practice

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

    * 1. Embedding Python in Another Application

      * 1.1. Very High Level Embedding

      * 1.2. Beyond Very High Level Embedding: An overview

      * 1.3. Pure Embedding

      * 1.4. Extending Embedded Python

      * 1.5. Embedding Python in C++

      * 1.6. Compiling and Linking under Unix-like systems

* Python/C API 参考手册

  * 概述

    * 包含文件

    * 对象、类型和引用计数

      * 引用计数

        * Reference Count Details

      * 类型

    * 异常

    * 嵌入Python

    * 调试构建

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

  * The Very High Level Layer

  * Reference Counting

  * 异常处理

    * Printing and clearing

    * 抛出异常

    * Issuing warnings

    * Querying the error indicator

    * Signal Handling

    * Exception Classes

    * Exception Objects

    * Unicode Exception Objects

    * Recursion Control

    * 标准异常

    * 标准警告类别

  * 工具

    * 操作系统实用程序

    * 系统功能

    * 过程控制

    * 导入模块

    * Data marshalling support

    * 语句解释及变量编译

      * 解析参数

        * 字符串和缓存区

        * 数字

        * 其他对象

        * API 函数

      * 创建变量

    * 字符串转换与格式化

    * 反射

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

      * Codec lookup API

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

  * 抽象对象层

    * 对象协议

    * 数字协议

    * 序列协议

    * 映射协议

    * 迭代器协议

    * 缓冲协议

      * 缓冲区结构

      * Buffer request types

        * request-independent fields

        * readonly, format

        * shape, strides, suboffsets

        * 连续性的请求

        * compound requests

      * 复杂数组

        * NumPy-style: shape and strides

        * PIL-style: shape, strides and suboffsets

      * Buffer-related functions

    * Old Buffer Protocol

  * 具体的对象层

    * 基本对象

      * Type 对象

      * "None" 对象

    * 数值对象

      * 整数型对象

      * 布尔对象

      * 浮点数对象

      * 复数对象

        * 表示复数的C结构体

        * 表示复数的Python对象

    * 序列对象

      * 字节对象

      * 字节数组对象

        * 类型检查宏

        * 直接 API 函数

        * 宏

      * Unicode Objects and Codecs

        * 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

      * 元组对象

      * Struct Sequence Objects

      * 列表对象

    * 容器对象

      * 字典对象

      * 集合对象

    * 函数对象

      * 函数对象

      * 实例方法对象

      * 方法对象

      * Cell 对象

      * 代码对象

    * 其他对象

      * 文件对象

      * 模块对象

        * Initializing C modules

          * Single-phase initialization

          * Multi-phase initialization

          * Low-level module creation functions

          * Support functions

        * Module lookup

      * 迭代器对象

      * 描述符对象

      * 切片对象

      * Ellipsis Object

      * MemoryView 对象

      * 弱引用对象

      * 胶囊

      * 生成器对象

      * 协程对象

      * DateTime 对象

  * Initialization, Finalization, and Threads

    * Initializing and finalizing the interpreter

    * Process-wide parameters

    * Thread State and the Global Interpreter Lock

      * Releasing the GIL from extension code

      * Non-Python created threads

      * High-level API

      * Low-level API

    * Sub-interpreter support

      * Bugs and caveats

    * Asynchronous Notifications

    * Profiling and Tracing

    * Advanced Debugger Support

  * 内存管理

    * 概述

    * 原始内存接口

    * 内存接口

    * 对象分配器

    * Customize Memory Allocators

    * The pymalloc allocator

      * Customize pymalloc Arena Allocator

    * 示例

  * 对象实现支持

    * 在堆中分配对象

    * Common Object Structures

    * Type 对象

    * 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

    * Conditional compilation

    * Changes to Object APIs

      * str/unicode Unification

      * long/int Unification

    * Module initialization and state

    * CObject replaced with Capsule

    * Other options

  * Curses Programming with Python

    * What is curses?

      * The Python curses module

    * Starting and ending a curses application

    * Windows and Pads

    * Displaying Text

      * Attributes and Color

    * User Input

    * For More Information

  * 实现描述器

    * 摘要

    * 定义和简介

    * 描述器协议

    * 发起调用描述符

    * 描述符示例

    * Properties

    * 函数和方法

    * Static Methods and Class Methods

  * 函数式编程指引

    * 概述

      * 形式证明

      * 模块化

      * 易于调试和测试

      * 组合性

    * 迭代器

      * 支持迭代器的数据类型

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

    * 生成器

      * 向生成器传递值

    * 内置函数

    * itertools 模块

      * 创建新的迭代器

      * 对元素使用函数

      * 选择元素

      * 组合函数

      * 为元素分组

    * functools 模块

      * operator 模块

    * 小函数和 lambda 表达式

    * 修订记录和致谢

    * 引用文献

      * 通用文献

      * Python 相关

      * Python 文档

  * 日志 HOWTO

    * 日志基础教程

      * 什么时候使用日志

      * 一个简单的例子

      * 记录日志到文件

      * 从多个模块记录日志

      * 记录变量数据

      * 更改显示消息的格式

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

      * 后续步骤

    * 进阶日志教程

      * 记录流程

      * 记录器

      * 处理程序

      * 格式化程序

      * 配置日志记录

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

      * 配置库的日志记录

    * 日志级别

      * 自定义级别

    * 有用的处理程序

    * 记录日志中引发的异常

    * 使用任意对象作为消息

    * 优化

  * 日志操作手册

    * 在多个模块中使用日志

    * 在多线程中使用日志

    * 使用多个日志处理器和多种格式化

    * 在多个地方记录日志

    * 日志服务器配置示例

    * 处理日志处理器的阻塞

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

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

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

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

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

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

    * 轮换日志文件

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

    * Customizing "LogRecord"

    * Subclassing QueueHandler - a ZeroMQ example

    * Subclassing QueueListener - a ZeroMQ example

    * An example dictionary-based configuration

    * Using a rotator and namer to customize log rotation processing

    * A more elaborate multiprocessing example

    * Inserting a BOM into messages sent to a SysLogHandler

    * Implementing structured logging

    * Customizing handlers with "dictConfig()"

    * Using particular formatting styles throughout your application

      * Using LogRecord factories

      * Using custom message objects

    * Configuring filters with "dictConfig()"

    * Customized exception formatting

    * Speaking logging messages

    * Buffering logging messages and outputting them conditionally

    * Formatting times using UTC (GMT) via configuration

    * Using a context manager for selective logging

  * 正则表达式HOWTO

    * 概述

    * 简单模式

      * 匹配字符

      * 重复

    * 使用正则表达式

      * 编译正则表达式

      * 反斜杠灾难

      * 应用匹配

      * 模块级别函数

      * 编译标志

    * 更多模式能力

      * 更多元字符

      * 分组

      * 非捕获和命名组

      * 前向断言

    * 修改字符串

      * 分割字符串

      * 搜索和替换

    * 常见问题

      * 使用字符串方法

      * match() 和 search()

      * 贪婪与非贪婪

      * 使用 re.VERBOSE

    * 反馈

  * 套接字编程指南

    * 套接字

      * 历史

    * 创建套接字

      * 进程间通信

    * 使用一个套接字

      * 二进制数据

    * 断开连接

      * 套接字何时销毁

    * 非阻塞的套接字

  * 排序指南

    * 基本排序

    * 关键函数

    * Operator 模块函数

    * 升序和降序

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

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

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

    * 其它

  * Unicode 指南

    * Unicode 概述

      * History of Character Codes

      * 定义

      * 编码

      * 引用文献

    * Python's Unicode Support

      * The String Type

      * Converting to Bytes

      * Unicode Literals in Python Source Code

      * Unicode Properties

      * Unicode Regular Expressions

      * 引用文献

    * Reading and Writing Unicode Data

      * Unicode filenames

      * Tips for Writing Unicode-aware Programs

        * Converting Between File Encodings

        * Files in an Unknown Encoding

      * 引用文献

    * Acknowledgements

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

    * 概述

    * Fetching URLs

      * Data

      * Headers

    * 处理异常

      * URLError

      * HTTPError

        * 错误代码

      * 包装起来

        * Number 1

        * Number 2

    * info and geturl

    * Openers and Handlers

    * 基本认证

    * 代理

    * Sockets and Layers

    * 脚注

  * 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探针

    * Static SystemTap markers

    * Available static markers

    * 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

  * 文档错误

  * 使用 Python 的错误追踪系统

  * 开始为 Python 贡献您的知识

* 版权

* 历史和许可证

  * 该软件的历史

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

    * 用于 PYTHON 3.6.9 的 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
