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

* Python 有什么新变化？

  * What's New In Python 3.6

    * Summary -- Release highlights

    * 新的特性

      * PEP 498: Formatted string literals

      * PEP 526: Syntax for variable annotations

      * PEP 515: Underscores in Numeric Literals

      * PEP 525: Asynchronous Generators

      * 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

    * Other Language Changes

    * New Modules

      * secrets

    * Improved Modules

      * array

      * ast

      * asyncio

      * binascii

      * cmath

      * collections

      * concurrent.futures

      * contextlib

      * datetime

      * decimal

      * distutils

      * email

      * encodings

      * enum

      * faulthandler

      * fileinput

      * hashlib

      * http.client

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

    * Optimizations

    * Build and C API Changes

    * Other Improvements

    * Deprecated

      * New Keywords

      * Deprecated Python behavior

      * Deprecated Python modules, functions and methods

        * asynchat

        * asyncore

        * dbm

        * distutils

        * grp

        * importlib

        * os

        * re

        * ssl

        * tkinter

        * venv

      * xml

      * Deprecated functions and types of the C API

      * Deprecated Build Options

    * Removed

      * API and Feature Removals

    * Porting to Python 3.6

      * Changes in 'python' Command Behavior

      * Changes in the Python API

      * Changes in the C API

      * CPython bytecode changes

    * Notable changes in Python 3.6.2

      * New "make regen-all" build target

      * Removal of "make touch" build target

    * Notable changes in Python 3.6.4

    * Notable changes in Python 3.6.5

    * Notable changes in Python 3.6.7

  * What's New In Python 3.5

    * Summary -- Release highlights

    * 新的特性

      * 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

    * Other Language Changes

    * New Modules

      * typing

      * zipapp

    * Improved Modules

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

    * Optimizations

    * Build and C API Changes

    * Deprecated

      * New Keywords

      * Deprecated Python Behavior

      * Unsupported Operating Systems

      * Deprecated Python modules, functions and methods

    * Removed

      * API and Feature Removals

    * Porting to Python 3.5

      * Changes in Python behavior

      * Changes in the Python API

      * Changes in the 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

      * Other Language Changes

    * New Modules

      * asyncio

      * ensurepip

      * enum

      * pathlib

      * selectors

      * statistics

      * tracemalloc

    * Improved Modules

      * abc

      * aifc

      * argparse

      * audioop

      * base64

      * collections

      * colorsys

      * contextlib

      * dbm

      * dis

      * doctest

      * email

      * filecmp

      * functools

      * gc

      * glob

      * hashlib

      * hmac

      * html

      * http

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

      * Other Improvements

      * Significant Optimizations

    * Deprecated

      * Deprecations in the Python API

      * Deprecated Features

    * Removed

      * Operating Systems No Longer Supported

      * API and Feature Removals

      * Code Cleanups

    * Porting to Python 3.4

      * Changes in 'python' Command Behavior

      * Changes in the Python API

      * Changes in the 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

    * Summary -- Release highlights

    * 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

    * Other Language Changes

    * A Finer-Grained Import Lock

    * Builtin functions and types

    * New Modules

      * faulthandler

      * ipaddress

      * lzma

    * Improved Modules

      * 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

    * Optimizations

    * Build and C API Changes

    * Deprecated

      * Unsupported Operating Systems

      * Deprecated Python modules, functions and methods

      * Deprecated functions and types of the 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

    * Other Language Changes

    * 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

    * 多线程

    * Optimizations

    * Unicode

    * Codecs

    * 文档

    * 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

    * Other Language Changes

    * New, Improved, and Deprecated Modules

    * Optimizations

    * 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

    * Performance

    * 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

    * Other Language Changes

      * Interpreter Changes

      * Optimizations

    * 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

      * Capsules

      * 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

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

    * Other Language Changes

      * Optimizations

      * 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

    * Other Language Changes

      * Interactive Interpreter Changes

      * Optimizations

    * 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

    * Other Language Changes

      * Optimizations

    * 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

    * Other Language Changes

      * String Changes

      * Optimizations

    * 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

  * What's New in Python 2.0

    * 概述

    * What About Python 1.6?

    * New Development Process

    * Unicode

    * 列表推导式

    * Augmented Assignment

    * String Methods

    * 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 下一版

      * 库

      * 构建

      * 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. Representation Error

  * 16. 附录

    * 16.1. 交互模式

      * 16.1.1. 错误处理

      * 16.1.2. 可执行的Python脚本

      * 16.1.3. 交互式启动文件

      * 16.1.4. 定制模块

* 安装和使用 Python

  * 1. Command line and environment

    * 1.1. Command line

      * 1.1.1. Interface options

      * 1.1.2. Generic options

      * 1.1.3. Miscellaneous options

      * 1.1.4. Options you shouldn't use

    * 1.2. Environment variables

      * 1.2.1. Debug-mode variables

  * 2. 在Unix平台中使用Python

    * 2.1. 获取最新版本的Python

      * 2.1.1. Linux环境下

      * 2.1.2. On FreeBSD and OpenBSD

      * 2.1.3. On OpenSolaris

    * 2.2. Building Python

    * 2.3. Python-related paths and files

    * 2.4. Miscellaneous

    * 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. Removing the MAX_PATH Limitation

      * 3.1.4. Installing Without UI

      * 3.1.5. Installing Without Downloading

      * 3.1.6. Modifying an install

      * 3.1.7. Other Platforms

    * 3.2. Alternative bundles

    * 3.3. Configuring Python

      * 3.3.1. Excursus: Setting environment variables

      * 3.3.2. Finding the Python executable

    * 3.4. Python Launcher for Windows

      * 3.4.1. Getting started

        * 3.4.1.1. From the command-line

        * 3.4.1.2. Virtual environments

        * 3.4.1.3. From a script

        * 3.4.1.4. From file associations

      * 3.4.2. Shebang Lines

      * 3.4.3. Arguments in shebang lines

      * 3.4.4. Customization

        * 3.4.4.1. Customization via INI files

        * 3.4.4.2. Customizing default Python versions

      * 3.4.5. Diagnostics

    * 3.5. Finding modules

    * 3.6. Additional modules

      * 3.6.1. PyWin32

      * 3.6.2. cx_Freeze

      * 3.6.3. WConio

    * 3.7. Compiling Python on Windows

    * 3.8. Embedded Distribution

      * 3.8.1. Python Application

      * 3.8.2. Embedding Python

    * 3.9. Other resources

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

    * 4.1. Getting and Installing MacPython

      * 4.1.1. How to run a Python script

      * 4.1.2. Running scripts with a GUI

      * 4.1.3. Configuration

    * 4.2. The IDE

    * 4.3. Installing Additional Python Packages

    * 4.4. GUI Programming on the Mac

    * 4.5. Distributing Python Applications on the Mac

    * 4.6. Other Resources

* 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. Open issues

    * 5.9. References

  * 6. 表达式

    * 6.1. Arithmetic conversions

    * 6.2. Atoms

      * 6.2.1. Identifiers (Names)

      * 6.2.2. 字面值

      * 6.2.3. Parenthesized forms

      * 6.2.4. Displays for lists, sets and dictionaries

      * 6.2.5. List displays

      * 6.2.6. Set displays

      * 6.2.7. Dictionary displays

      * 6.2.8. Generator expressions

      * 6.2.9. Yield 表达式

        * 6.2.9.1. 生成器-迭代器的方法

        * 6.2.9.2. 示例

        * 6.2.9.3. 异步生成器函数

        * 6.2.9.4. Asynchronous generator-iterator methods

    * 6.3. Primaries

      * 6.3.1. Attribute references

      * 6.3.2. Subscriptions

      * 6.3.3. Slicings

      * 6.3.4. 调用

    * 6.4. Await expression

    * 6.5. The power operator

    * 6.6. Unary arithmetic and bitwise operations

    * 6.7. Binary arithmetic operations

    * 6.8. Shifting operations

    * 6.9. Binary bitwise operations

    * 6.10. Comparisons

      * 6.10.1. Value comparisons

      * 6.10.2. Membership test operations

      * 6.10.3. Identity comparisons

    * 6.11. Boolean operations

    * 6.12. Conditional expressions

    * 6.13. Lambdas

    * 6.14. Expression lists

    * 6.15. Evaluation order

    * 6.16. Operator precedence

  * 7. 简单语句

    * 7.1. Expression statements

    * 7.2. Assignment statements

      * 7.2.1. Augmented assignment statements

      * 7.2.2. Annotated assignment statements

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

    * 7.12. The "global" statement

    * 7.13. The "nonlocal" statement

  * 8. Compound statements

    * 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. Function definitions

    * 8.7. Class definitions

    * 8.8. 协程

      * 8.8.1. Coroutine function definition

      * 8.8.2. The "async for" statement

      * 8.8.3. The "async with" statement

  * 9. Top-level components

    * 9.1. Complete Python programs

    * 9.2. File input

    * 9.3. Interactive input

    * 9.4. Expression input

  * 10. 完整的语法规范

* Python 标准库

  * 1. 概述

  * 2. 内置函数

  * 3. Built-in Constants

    * 3.1. Constants added by the "site" module

  * 4. Built-in Types

    * 4.1. Truth Value Testing

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

    * 4.3. Comparisons

    * 4.4. Numeric Types --- "int", "float", "complex"

      * 4.4.1. Bitwise Operations on Integer Types

      * 4.4.2. Additional Methods on Integer Types

      * 4.4.3. Additional Methods on Float

      * 4.4.4. Hashing of numeric types

    * 4.5. Iterator Types

      * 4.5.1. Generator Types

    * 4.6. Sequence Types --- "list", "tuple", "range"

      * 4.6.1. Common Sequence Operations

      * 4.6.2. Immutable Sequence Types

      * 4.6.3. Mutable Sequence Types

      * 4.6.4. 列表

      * 4.6.5. 元组

      * 4.6.6. Ranges

    * 4.7. Text Sequence Type --- "str"

      * 4.7.1. String Methods

      * 4.7.2. "printf"-style String Formatting

    * 4.8. Binary Sequence Types --- "bytes", "bytearray",
      "memoryview"

      * 4.8.1. Bytes Objects

      * 4.8.2. Bytearray Objects

      * 4.8.3. Bytes and Bytearray Operations

      * 4.8.4. "printf"-style Bytes Formatting

      * 4.8.5. Memory Views

    * 4.9. Set Types --- "set", "frozenset"

    * 4.10. Mapping Types --- "dict"

      * 4.10.1. Dictionary view objects

    * 4.11. Context Manager Types

    * 4.12. Other Built-in Types

      * 4.12.1. 模块

      * 4.12.2. Classes and Class Instances

      * 4.12.3. Functions

      * 4.12.4. Methods

      * 4.12.5. 代码对象

      * 4.12.6. Type Objects

      * 4.12.7. The Null Object

      * 4.12.8. The Ellipsis Object

      * 4.12.9. The NotImplemented Object

      * 4.12.10. Boolean Values

      * 4.12.11. Internal Objects

    * 4.13. Special Attributes

  * 5. Built-in Exceptions

    * 5.1. Base classes

    * 5.2. Concrete exceptions

      * 5.2.1. OS exceptions

    * 5.3. Warnings

    * 5.4. Exception hierarchy

  * 6. Text Processing Services

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

      * 6.1.1. 字符串常量

      * 6.1.2. Custom String Formatting

      * 6.1.3. Format String Syntax

        * 6.1.3.1. Format Specification Mini-Language

        * 6.1.3.2. Format examples

      * 6.1.4. Template strings

      * 6.1.5. Helper functions

    * 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" --- Helpers for computing deltas

      * 6.3.1. SequenceMatcher Objects

      * 6.3.2. SequenceMatcher Examples

      * 6.3.3. Differ Objects

      * 6.3.4. Differ Example

      * 6.3.5. A command-line interface to difflib

    * 6.4. "textwrap" --- Text wrapping and filling

    * 6.5. "unicodedata" --- Unicode Database

    * 6.6. "stringprep" --- Internet String Preparation

    * 6.7. "readline" --- GNU readline interface

      * 6.7.1. Init file

      * 6.7.2. Line buffer

      * 6.7.3. History file

      * 6.7.4. History list

      * 6.7.5. Startup hooks

      * 6.7.6. Completion

      * 6.7.7. 示例

    * 6.8. "rlcompleter" --- Completion function for GNU readline

      * 6.8.1. Completer Objects

  * 7. Binary Data Services

    * 7.1. "struct" --- Interpret bytes as packed binary data

      * 7.1.1. Functions and Exceptions

      * 7.1.2. Format Strings

        * 7.1.2.1. Byte Order, Size, and Alignment

        * 7.1.2.2. Format Characters

        * 7.1.2.3. 示例

      * 7.1.3. 类

    * 7.2. "codecs" --- Codec registry and base classes

      * 7.2.1. Codec Base Classes

        * 7.2.1.1. Error Handlers

        * 7.2.1.2. Stateless Encoding and Decoding

        * 7.2.1.3. Incremental Encoding and Decoding

          * 7.2.1.3.1. IncrementalEncoder Objects

          * 7.2.1.3.2. IncrementalDecoder Objects

        * 7.2.1.4. Stream Encoding and Decoding

          * 7.2.1.4.1. StreamWriter Objects

          * 7.2.1.4.2. StreamReader Objects

          * 7.2.1.4.3. StreamReaderWriter Objects

          * 7.2.1.4.4. StreamRecoder Objects

      * 7.2.2. Encodings and Unicode

      * 7.2.3. Standard Encodings

      * 7.2.4. Python Specific Encodings

        * 7.2.4.1. Text Encodings

        * 7.2.4.2. Binary Transforms

        * 7.2.4.3. Text Transforms

      * 7.2.5. "encodings.idna" --- Internationalized Domain Names
        in Applications

      * 7.2.6. "encodings.mbcs" --- Windows ANSI codepage

      * 7.2.7. "encodings.utf_8_sig" --- UTF-8 codec with BOM
        signature

  * 8. Data Types

    * 8.1. "datetime" --- Basic date and time types

      * 8.1.1. Available Types

      * 8.1.2. "timedelta" Objects

      * 8.1.3. "date" Objects

      * 8.1.4. "datetime" Objects

      * 8.1.5. "time" Objects

      * 8.1.6. "tzinfo" Objects

      * 8.1.7. "timezone" Objects

      * 8.1.8. "strftime()" and "strptime()" Behavior

    * 8.2. "calendar" --- General calendar-related functions

    * 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. Collections Abstract Base Classes

    * 8.5. "heapq" --- Heap queue algorithm

      * 8.5.1. Basic Examples

      * 8.5.2. Priority Queue Implementation Notes

      * 8.5.3. Theory

    * 8.6. "bisect" --- Array bisection algorithm

      * 8.6.1. Searching Sorted Lists

      * 8.6.2. Other Examples

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

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

      * 8.8.1. Weak Reference Objects

      * 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 and deep copy operations

    * 8.11. "pprint" --- Data pretty printer

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

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

        * 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. Numeric and Mathematical Modules

    * 9.1. "numbers" --- Numeric abstract base classes

      * 9.1.1. The numeric tower

      * 9.1.2. Notes for type implementors

        * 9.1.2.1. Adding More Numeric ABCs

        * 9.1.2.2. Implementing the arithmetic operations

    * 9.2. "math" --- Mathematical functions

      * 9.2.1. Number-theoretic and representation functions

      * 9.2.2. Power and logarithmic functions

      * 9.2.3. Trigonometric functions

      * 9.2.4. Angular conversion

      * 9.2.5. Hyperbolic functions

      * 9.2.6. Special functions

      * 9.2.7. Constants

    * 9.3. "cmath" --- Mathematical functions for complex numbers

      * 9.3.1. Conversions to and from polar coordinates

      * 9.3.2. Power and logarithmic functions

      * 9.3.3. Trigonometric functions

      * 9.3.4. Hyperbolic functions

      * 9.3.5. Classification functions

      * 9.3.6. Constants

    * 9.4. "decimal" --- Decimal fixed point and floating point
      arithmetic

      * 9.4.1. Quick-start Tutorial

      * 9.4.2. Decimal objects

        * 9.4.2.1. Logical operands

      * 9.4.3. Context objects

      * 9.4.4. Constants

      * 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" --- Rational numbers

    * 9.6. "random" --- Generate pseudo-random numbers

      * 9.6.1. Bookkeeping functions

      * 9.6.2. Functions for integers

      * 9.6.3. Functions for sequences

      * 9.6.4. Real-valued distributions

      * 9.6.5. Alternative Generator

      * 9.6.6. Notes on Reproducibility

      * 9.6.7. Examples and Recipes

    * 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" --- Higher-order functions and operations on
      callable objects

      * 10.2.1. "partial" Objects

    * 10.3. "operator" --- Standard operators as functions

      * 10.3.1. Mapping Operators to Functions

      * 10.3.2. Inplace Operators

  * 11. File and Directory Access

    * 11.1. "pathlib" --- Object-oriented filesystem paths

      * 11.1.1. Basic use

      * 11.1.2. Pure paths

        * 11.1.2.1. General properties

        * 11.1.2.2. 运算符

        * 11.1.2.3. Accessing individual parts

        * 11.1.2.4. Methods and properties

      * 11.1.3. Concrete paths

        * 11.1.3.1. Methods

    * 11.2. "os.path" --- Common pathname manipulations

    * 11.3. "fileinput" --- Iterate over lines from multiple input
      streams

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

    * 11.5. "filecmp" --- File and Directory Comparisons

      * 11.5.1. The "dircmp" class

    * 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 path manipulation functions

  * 12. Data Persistence

    * 12.1. "pickle" --- Python object serialization

      * 12.1.1. Relationship to other Python modules

        * 12.1.1.1. Comparison with "marshal"

        * 12.1.1.2. Comparison with "json"

      * 12.1.2. Data stream format

      * 12.1.3. Module Interface

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

      * 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" --- DB-API 2.0 interface for SQLite databases

      * 12.6.1. Module functions and constants

      * 12.6.2. Connection Objects

      * 12.6.3. Cursor Objects

      * 12.6.4. Row Objects

      * 12.6.5. 异常

      * 12.6.6. SQLite and Python types

        * 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. Using the connection as a context manager

      * 12.6.9. Common issues

        * 12.6.9.1. Multithreading

  * 13. 数据压缩和存档

    * 13.1. "zlib" --- Compression compatible with **gzip**

    * 13.2. "gzip" --- Support for **gzip** files

      * 13.2.1. Examples of usage

    * 13.3. "bz2" --- Support for **bzip2** compression

      * 13.3.1. (De)compression of files

      * 13.3.2. Incremental (de)compression

      * 13.3.3. One-shot (de)compression

    * 13.4. "lzma" --- Compression using the LZMA algorithm

      * 13.4.1. Reading and writing compressed files

      * 13.4.2. Compressing and decompressing data in memory

      * 13.4.3. Miscellaneous

      * 13.4.4. Specifying custom filter chains

      * 13.4.5. 示例

    * 13.5. "zipfile" --- Work with ZIP archives

      * 13.5.1. ZipFile Objects

      * 13.5.2. PyZipFile Objects

      * 13.5.3. ZipInfo Objects

      * 13.5.4. Command-Line Interface

        * 13.5.4.1. Command-line options

    * 13.6. "tarfile" --- Read and write tar archive files

      * 13.6.1. TarFile Objects

      * 13.6.2. TarInfo Objects

      * 13.6.3. Command-Line Interface

        * 13.6.3.1. Command-line options

      * 13.6.4. 示例

      * 13.6.5. Supported tar formats

      * 13.6.6. Unicode issues

  * 14. File Formats

    * 14.1. "csv" --- CSV File Reading and Writing

      * 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. Cryptographic Services

    * 15.1. "hashlib" --- Secure hashes and message digests

      * 15.1.1. Hash algorithms

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

        * 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" --- Keyed-Hashing for Message Authentication

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

      * 15.3.4. Recipes and best practices

  * 16. 通用操作系统服务

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

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

      * 16.1.2. 进程参数

      * 16.1.3. File Object Creation

      * 16.1.4. File Descriptor Operations

        * 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" --- Core tools for working with streams

      * 16.2.1. Overview

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

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

      * 16.3.2. Clock ID Constants

      * 16.3.3. Timezone Constants

    * 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. The add_argument() method

        * 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. 类型

        * 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. The parse_args() method

        * 16.4.4.1. Option value syntax

        * 16.4.4.2. Invalid arguments

        * 16.4.4.3. Arguments containing "-"

        * 16.4.4.4. Argument abbreviations (prefix matching)

        * 16.4.4.5. Beyond "sys.argv"

        * 16.4.4.6. The Namespace object

      * 16.4.5. Other utilities

        * 16.4.5.1. Sub-commands

        * 16.4.5.2. FileType objects

        * 16.4.5.3. Argument groups

        * 16.4.5.4. Mutual exclusion

        * 16.4.5.5. Parser defaults

        * 16.4.5.6. Printing help

        * 16.4.5.7. Partial parsing

        * 16.4.5.8. Customizing file parsing

        * 16.4.5.9. Exiting methods

      * 16.4.6. Upgrading optparse code

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

    * 16.6. "logging" --- Logging facility for Python

      * 16.6.1. Logger Objects

      * 16.6.2. Logging Levels

      * 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. Thread Safety

      * 16.6.10. Module-Level Functions

      * 16.6.11. Module-Level Attributes

      * 16.6.12. Integration with the warnings module

    * 16.7. "logging.config" --- Logging configuration

      * 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" --- Portable password input

    * 16.10. "curses" --- Terminal handling for character-cell
      displays

      * 16.10.1. Functions

      * 16.10.2. Window Objects

      * 16.10.3. Constants

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

      * 16.11.1. Textbox objects

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

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

      * 16.13.1. Functions

      * 16.13.2. Panel Objects

    * 16.14. "platform" ---  Access to underlying platform's
      identifying data

      * 16.14.1. Cross Platform

      * 16.14.2. Java Platform

      * 16.14.3. Windows Platform

        * 16.14.3.1. Win95/98 specific

      * 16.14.4. Mac OS Platform

      * 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. Calling functions, continued

        * 16.16.1.6. Calling functions with your own custom data
          types

        * 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. Concurrent Execution

    * 17.1. "threading" --- Thread-based parallelism

      * 17.1.1. Thread-Local Data

      * 17.1.2. Thread Objects

      * 17.1.3. Lock Objects

      * 17.1.4. RLock Objects

      * 17.1.5. Condition Objects

      * 17.1.6. Semaphore Objects

        * 17.1.6.1. "Semaphore" Example

      * 17.1.7. Event Objects

      * 17.1.8. Timer Objects

      * 17.1.9. Barrier Objects

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

    * 17.2. "multiprocessing" --- Process-based parallelism

      * 17.2.1. 概述

        * 17.2.1.1. The "Process" class

        * 17.2.1.2. Contexts and start methods

        * 17.2.1.3. Exchanging objects between processes

        * 17.2.1.4. Synchronization between processes

        * 17.2.1.5. Sharing state between processes

        * 17.2.1.6. Using a pool of workers

      * 17.2.2. 参考引用

        * 17.2.2.1. "Process" and exceptions

        * 17.2.2.2. Pipes and Queues

        * 17.2.2.3. Miscellaneous

        * 17.2.2.4. Connection Objects

        * 17.2.2.5. Synchronization primitives

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

          * 17.2.2.8.1. Cleanup

        * 17.2.2.9. Process Pools

        * 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. The "concurrent" package

    * 17.4. "concurrent.futures" --- Launching parallel tasks

      * 17.4.1. Executor Objects

      * 17.4.2. ThreadPoolExecutor

        * 17.4.2.1. ThreadPoolExecutor Example

      * 17.4.3. ProcessPoolExecutor

        * 17.4.3.1. ProcessPoolExecutor Example

      * 17.4.4. Future Objects

      * 17.4.5. Module Functions

      * 17.4.6. Exception classes

    * 17.5. "subprocess" --- Subprocess management

      * 17.5.1. Using the "subprocess" Module

        * 17.5.1.1. Frequently Used Arguments

        * 17.5.1.2. Popen Constructor

        * 17.5.1.3. 异常

      * 17.5.2. Security Considerations

      * 17.5.3. Popen Objects

      * 17.5.4. Windows Popen Helpers

        * 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" --- Event scheduler

      * 17.6.1. Scheduler Objects

    * 17.7. "queue" --- A synchronized queue class

      * 17.7.1. Queue Objects

    * 17.8. "dummy_threading" --- Drop-in replacement for the
      "threading" module

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

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

  * 18. Interprocess Communication and Networking

    * 18.1. "socket" --- Low-level networking interface

      * 18.1.1. Socket families

      * 18.1.2. Module contents

        * 18.1.2.1. 异常

        * 18.1.2.2. Constants

        * 18.1.2.3. Functions

          * 18.1.2.3.1. Creating sockets

          * 18.1.2.3.2. Other functions

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

      * 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" --- High-level I/O multiplexing

      * 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. Error Handling 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. Hello World with call_soon()

          * 18.5.1.18.2. Display the current date with call_later()

          * 18.5.1.18.3. Watch a file descriptor for read events

          * 18.5.1.18.4. Set signal handlers for SIGINT and SIGTERM

      * 18.5.2. Event loops

        * 18.5.2.1. Event loop functions

        * 18.5.2.2. Available event loops

        * 18.5.2.3. Platform support

          * 18.5.2.3.1. Windows

          * 18.5.2.3.2. Mac OS X

        * 18.5.2.4. Event loop policies and the default policy

        * 18.5.2.5. Event loop policy interface

        * 18.5.2.6. Access to the global loop policy

        * 18.5.2.7. Customizing the event loop policy

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

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

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

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

        * 18.5.8.1. Queue

        * 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" --- Asynchronous socket handler

      * 18.6.1. asyncore Example basic HTTP client

      * 18.6.2. asyncore Example basic echo server

    * 18.7. "asynchat" --- Asynchronous socket command/response
      handler

      * 18.7.1. asynchat Example

    * 18.8. "signal" --- Set handlers for asynchronous events

      * 18.8.1. General rules

        * 18.8.1.1. Execution of Python signal handlers

        * 18.8.1.2. Signals and threads

      * 18.8.2. Module contents

      * 18.8.3. 示例

    * 18.9. "mmap" --- Memory-mapped file support

  * 19. Internet Data Handling

    * 19.1. "email" --- An email and MIME handling package

      * 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": Exception and Defect classes

      * 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": Examples

      * 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": Miscellaneous utilities

      * 19.1.15. "email.iterators": Iterators

    * 19.2. "json" --- JSON encoder and decoder

      * 19.2.1. Basic Usage

      * 19.2.2. Encoders and Decoders

      * 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" --- Encode and decode binhex4 files

      * 19.7.1. 注释

    * 19.8. "binascii" --- Convert between binary and ASCII

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

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

  * 20. Structured Markup Processing Tools

    * 20.1. "html" --- HyperText Markup Language support

    * 20.2. "html.parser" --- Simple HTML and XHTML parser

      * 20.2.1. Example HTML Parser Application

      * 20.2.2. "HTMLParser" Methods

      * 20.2.3. 示例

    * 20.3. "html.entities" --- Definitions of HTML general entities

    * 20.4. XML Processing Modules

      * 20.4.1. XML vulnerabilities

      * 20.4.2. The "defusedxml" and "defusedexpat" Packages

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

        * 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. Internet Protocols and Support

    * 21.1. "webbrowser" --- Convenient Web-browser controller

      * 21.1.1. Browser Controller Objects

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

      * 21.2.1. 概述

      * 21.2.2. Using the cgi module

      * 21.2.3. Higher Level Interface

      * 21.2.4. Functions

      * 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" --- Extensible library for opening URLs

      * 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" --- Response classes used by urllib

    * 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" --- Exception classes raised by
      urllib.request

    * 21.10. "urllib.robotparser" ---  Parser for robots.txt

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

      * 21.11.1. HTTP status codes

    * 21.12. "http.client" --- HTTP protocol client

      * 21.12.1. HTTPConnection Objects

      * 21.12.2. HTTPResponse Objects

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

      * 21.16.2. Utility functions

    * 21.17. "smtplib" --- SMTP protocol client

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

    * 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 server and client modules

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

      * 21.26.1. ServerProxy Objects

      * 21.26.2. DateTime Objects

      * 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. Multimedia Services

    * 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" --- Conversions between color systems

    * 22.7. "imghdr" --- Determine the type of an image

    * 22.8. "sndhdr" --- Determine type of sound file

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

      * 22.9.1. Audio Device Objects

      * 22.9.2. Mixer Device Objects

  * 23. Internationalization

    * 23.1. "gettext" --- Multilingual internationalization services

      * 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" --- Internationalization services

      * 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. Program Frameworks

    * 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" --- Support for line-oriented command interpreters

      * 24.2.1. Cmd Objects

      * 24.2.2. Cmd Example

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

        * 25.2.4.2. Virtual events

        * 25.2.4.3. ttk.Combobox

      * 25.2.5. Notebook

        * 25.2.5.1. Options

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

        * 25.2.6.2. ttk.Progressbar

      * 25.2.7. Separator

        * 25.2.7.1. Options

      * 25.2.8. Sizegrip

        * 25.2.8.1. Platform-specific notes

        * 25.2.8.2. Bugs

      * 25.2.9. Treeview

        * 25.2.9.1. Options

        * 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" --- Scrolled Text Widget

    * 25.5. IDLE

      * 25.5.1. Menus

        * 25.5.1.1. File menu (Shell and Editor)

        * 25.5.1.2. Edit menu (Shell and Editor)

        * 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. Other Graphical User Interface Packages

  * 26. 开发工具

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

      * 26.1.1. 类型别名

      * 26.1.2. NewType

      * 26.1.3. Callable

      * 26.1.4. 泛型(Generics)

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

      * 26.1.6. "Any" 类型

      * 26.1.7. Classes, functions, and decorators

    * 26.2. "pydoc" --- Documentation generator and online help
      system

    * 26.3. "doctest" --- Test interactive Python examples

      * 26.3.1. Simple Usage: Checking Examples in 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. Warnings

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

      * 26.3.8. Soapbox

    * 26.4. "unittest" --- Unit testing framework

      * 26.4.1. Basic example

      * 26.4.2. Command-Line Interface

        * 26.4.2.1. Command-line options

      * 26.4.3. Test Discovery

      * 26.4.4. Organizing test code

      * 26.4.5. Re-using old test code

      * 26.4.6. Skipping tests and expected failures

      * 26.4.7. Distinguishing test iterations using subtests

      * 26.4.8. Classes and functions

        * 26.4.8.1. Test cases

          * 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" --- getting started

      * 26.6.1. Using Mock

        * 26.6.1.1. Mock Patching Methods

        * 26.6.1.2. Mock for Method Calls on an Object

        * 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. Debugging and Profiling

    * 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" --- The Python Debugger

      * 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" --- Measure execution time of small code
      snippets

      * 27.5.1. Basic Examples

      * 27.5.2. Python Interface

      * 27.5.3. Command-Line Interface

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

        * 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. Software Packaging and Distribution

    * 28.1. "distutils" --- Building and installing Python modules

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

      * 28.2.1. Command line interface

      * 28.2.2. Module API

    * 28.3. "venv" --- Creation of virtual environments

      * 28.3.1. Creating virtual environments

      * 28.3.2. API

      * 28.3.3. An example of extending "EnvBuilder"

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

      * 28.4.1. Basic Example

      * 28.4.2. Command-Line Interface

      * 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" --- System-specific parameters and functions

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

      * 29.2.1. Configuration variables

      * 29.2.2. Installation paths

      * 29.2.3. Other functions

      * 29.2.4. Using "sysconfig" as a script

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

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

    * 29.5. "warnings" --- Warning control

      * 29.5.1. Warning Categories

      * 29.5.2. The Warnings Filter

        * 29.5.2.1. Default Warning Filters

      * 29.5.3. Temporarily Suppressing Warnings

      * 29.5.4. Testing Warnings

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

      * 29.6.2. Examples and Recipes

        * 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" --- Print or retrieve a stack 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" --- Garbage Collector interface

    * 29.12. "inspect" --- Inspect live objects

      * 29.12.1. Types and members

      * 29.12.2. Retrieving source code

      * 29.12.3. Introspecting callables with the Signature object

      * 29.12.4. Classes and functions

      * 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. Module contents

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

      * 29.14.1. Example

      * 29.14.2. Limitations and other considerations

  * 30. Custom Python Interpreters

    * 30.1. "code" --- Interpreter base classes

      * 30.1.1. Interactive Interpreter Objects

      * 30.1.2. Interactive Console Objects

    * 30.2. "codeop" --- Compile Python code

  * 31. Importing Modules

    * 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" --- Find modules used by a script

      * 31.3.1. Example usage of "ModuleFinder"

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

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

      * 31.5.1. 概述

      * 31.5.2. Functions

      * 31.5.3. "importlib.abc" -- Abstract base classes related to
        import

      * 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 Language Services

    * 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. Abstract Grammar

      * 32.2.3. "ast" Helpers

    * 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" --- Constants used with Python parse trees

    * 32.5. "token" --- Constants used with Python parse trees

    * 32.6. "keyword" --- Testing for Python keywords

    * 32.7. "tokenize" --- Tokenizer for Python source

      * 32.7.1. Tokenizing Input

      * 32.7.2. Command-Line Usage

      * 32.7.3. 示例

    * 32.8. "tabnanny" --- Detection of ambiguous indentation

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

      * 32.9.1. 类对象

      * 32.9.2. Function Objects

    * 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. Miscellaneous Services

    * 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 registry access

      * 34.3.1. Functions

      * 34.3.2. Constants

        * 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 Specific Services

    * 35.1. "posix" --- The most common POSIX system calls

      * 35.1.1. Large File Support

      * 35.1.2. Notable Module Contents

    * 35.2. "pwd" --- The password database

    * 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. Module Functions

      * 35.5.4. 示例

    * 35.6. "termios" --- POSIX style tty control

      * 35.6.1. 示例

    * 35.7. "tty" --- Terminal control functions

    * 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. "syslog" --- Unix syslog library routines

      * 35.13.1. 示例

        * 35.13.1.1. Simple example

  * 36. Superseded Modules

    * 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. Undocumented Modules

    * 37.1. Platform specific modules

* Extending and Embedding the Python Interpreter

  * Recommended third party tools

  * Creating extensions without third party tools

    * 1. Extending Python with C or C++

      * 1.1. A Simple Example

      * 1.2. Intermezzo: Errors and Exceptions

      * 1.3. Back to the Example

      * 1.4. The Module's Method Table and Initialization Function

      * 1.5. Compilation and Linkage

      * 1.6. Calling Python Functions from C

      * 1.7. Extracting Parameters in Extension Functions

      * 1.8. Keyword Parameters for Extension Functions

      * 1.9. Building Arbitrary Values

      * 1.10. 引用计数

        * 1.10.1. Reference Counting in Python

        * 1.10.2. Ownership Rules

        * 1.10.3. Thin Ice

        * 1.10.4. NULL Pointers

      * 1.11. Writing Extensions in C++

      * 1.12. Providing a C API for an Extension Module

    * 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. Defining Extension Types: Assorted Topics

      * 3.1. Finalization and De-allocation

      * 3.2. Object Presentation

      * 3.3. Attribute Management

        * 3.3.1. Generic Attribute Management

        * 3.3.2. Type-specific Attribute Management

      * 3.4. Object Comparison

      * 3.5. Abstract Protocol Support

      * 3.6. Weak Reference Support

      * 3.7. More Suggestions

    * 4. Building C and C++ Extensions

      * 4.1. Building C and C++ Extensions with distutils

      * 4.2. Distributing your extension modules

    * 5. Building C and C++ Extensions on Windows

      * 5.1. A Cookbook Approach

      * 5.2. Differences Between Unix and Windows

      * 5.3. Using DLLs in Practice

  * Embedding the CPython runtime in a larger application

    * 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

      * 类型

    * 异常

    * Embedding Python

    * 调试构建

  * Stable Application Binary Interface

  * The Very High Level Layer

  * Reference Counting

  * Exception Handling

    * Printing and clearing

    * Raising exceptions

    * Issuing warnings

    * Querying the error indicator

    * Signal Handling

    * Exception Classes

    * Exception Objects

    * Unicode Exception Objects

    * Recursion Control

    * Standard Exceptions

    * Standard Warning Categories

  * Utilities

    * Operating System Utilities

    * System Functions

    * Process Control

    * Importing Modules

    * Data marshalling support

    * 语句解释及变量编译

      * 解析参数

        * 字符串和缓存区

        * 数字

        * 其他对象

        * API 函数

      * 创建变量

    * String conversion and formatting

    * Reflection

    * Codec registry and support functions

      * Codec lookup API

      * Registry API for Unicode encoding error handlers

  * 抽象对象层

    * Object Protocol

    * Number Protocol

    * Sequence Protocol

    * Mapping Protocol

    * 迭代器协议

    * 缓冲协议

      * Buffer structure

      * Buffer request types

        * request-independent fields

        * readonly, format

        * shape, strides, suboffsets

        * contiguity requests

        * compound requests

      * Complex arrays

        * NumPy-style: shape and strides

        * PIL-style: shape, strides and suboffsets

      * Buffer-related functions

    * Old Buffer Protocol

  * Concrete Objects Layer

    * Fundamental Objects

      * Type Objects

      * The "None" Object

    * Numeric Objects

      * Integer Objects

      * 布尔对象

      * Floating Point Objects

      * Complex Number Objects

        * Complex Numbers as C Structures

        * Complex Numbers as Python Objects

    * Sequence Objects

      * Bytes Objects

      * bytearray 对象

        * 键入检查宏

        * Direct API functions

        * Macros

      * Unicode Objects and Codecs

        * Unicode Objects

          * Unicode Type

          * Unicode Character Properties

          * 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

      * Tuple Objects

      * Struct Sequence Objects

      * 列表对象

    * Container Objects

      * 字典对象

      * Set Objects

    * Function Objects

      * Function Objects

      * 实例方法对象

      * 方法对象

      * Cell Objects

      * 代码对象

    * Other Objects

      * File Objects

      * Module Objects

        * Initializing C modules

          * Single-phase initialization

          * Multi-phase initialization

          * Low-level module creation functions

          * Support functions

        * Module lookup

      * Iterator Objects

      * 描述符对象

      * Slice Objects

      * Ellipsis Object

      * MemoryView objects

      * Weak Reference Objects

      * Capsules

      * 生成器对象

      * 协程对象

      * DateTime Objects

  * 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

  * Memory Management

    * Overview

    * Raw Memory Interface

    * Memory Interface

    * Object allocators

    * Customize Memory Allocators

    * The pymalloc allocator

      * Customize pymalloc Arena Allocator

    * 示例

  * 对象实现支持

    * 在堆中分配对象

    * Common Object Structures

    * Type Objects

    * Number Object Structures

    * Mapping Object Structures

    * Sequence Object Structures

    * Buffer Object Structures

    * Async Object Structures

    * Supporting Cyclic Garbage Collection

  * API 和 ABI 版本管理

* 分发 Python 模块

  * 关键术语

  * 开源许可与协作

  * 安装工具

  * 阅读指南

  * 我该如何...？

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

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

* 安装 Python 模块

  * 关键术语

  * Basic usage

  * How do I ...?

    * ... install "pip" in versions of Python prior to Python 3.4?

    * ... install packages just for the current user?

    * ... install scientific Python packages?

    * ... work with multiple versions of Python installed in
      parallel?

  * Common installation issues

    * Installing into the system Python on Linux

    * Pip not installed

    * Installing binary extensions

* Python 常用指引

  * 将 Python 2 代码迁移到 Python 3

    * 简要说明

    * Details

      * Drop support for Python 2.6 and older

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

      * Have good test coverage

      * Learn the differences between Python 2 & 3

      * Update your code

        * Division

        * Text versus binary data

        * 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

      * Consider using optional static type checking

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

  * Descriptor HowTo Guide

    * 摘要

    * Definition and Introduction

    * Descriptor Protocol

    * 发起调用描述符

    * Descriptor Example

    * Properties

    * Functions and Methods

    * Static Methods and Class Methods

  * 函数式编程指引

    * 概述

      * Formal provability

      * Modularity

      * Ease of debugging and testing

      * Composability

    * 迭代器

      * Data Types That Support Iterators

    * Generator expressions and list comprehensions

    * 生成器

      * Passing values into a generator

    * 内置函数

    * The itertools module

      * Creating new iterators

      * Calling functions on elements

      * Selecting elements

      * Combinatoric functions

      * Grouping elements

    * The functools module

      * The operator module

    * Small functions and the lambda expression

    * Revision History and Acknowledgements

    * References

      * General

      * Python-specific

      * Python documentation

  * 日志 HOWTO

    * 日志基础教程

      * 什么时候使用日志

      * 一个简单的例子

      * 记录日志到文件

      * Logging from multiple modules

      * Logging variable data

      * Changing the format of displayed messages

      * Displaying the date/time in messages

      * Next Steps

    * Advanced Logging Tutorial

      * Logging Flow

      * Loggers

      * Handlers

      * Formatters

      * Configuring Logging

      * What happens if no configuration is provided

      * Configuring Logging for a Library

    * Logging Levels

      * Custom Levels

    * Useful Handlers

    * Exceptions raised during logging

    * Using arbitrary objects as messages

    * Optimization

  * Logging Cookbook

    * Using logging in multiple modules

    * Logging from multiple threads

    * Multiple handlers and formatters

    * Logging to multiple destinations

    * Configuration server example

    * Dealing with handlers that block

    * Sending and receiving logging events across a network

    * Adding contextual information to your logging output

      * Using LoggerAdapters to impart contextual information

        * Using objects other than dicts to pass contextual
          information

      * Using Filters to impart contextual information

    * Logging to a single file from multiple processes

    * Using file rotation

    * Use of alternative formatting styles

    * 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

  * Regular Expression HOWTO

    * 概述

    * Simple Patterns

      * Matching Characters

      * Repeating Things

    * Using Regular Expressions

      * Compiling Regular Expressions

      * The Backslash Plague

      * Performing Matches

      * Module-Level Functions

      * Compilation Flags

    * More Pattern Power

      * More Metacharacters

      * Grouping

      * Non-capturing and Named Groups

      * Lookahead Assertions

    * Modifying Strings

      * Splitting Strings

      * Search and Replace

    * Common Problems

      * Use String Methods

      * match() versus search()

      * Greedy versus Non-Greedy

      * Using re.VERBOSE

    * Feedback

  * 套接字编程 HOWTO

    * 套接字

      * 历史

    * 创建套接字

      * 进程间通信

    * 使用一个套接字

      * 二进制数据

    * Disconnecting

      * When Sockets Die

    * Non-blocking Sockets

  * 排序指南

    * 基本排序

    * Key Functions

    * Operator Module Functions

    * Ascending and Descending

    * Sort Stability and Complex Sorts

    * The Old Way Using Decorate-Sort-Undecorate

    * The Old Way Using the *cmp* Parameter

    * Odd and Ends

  * Unicode HOWTO

    * Introduction to Unicode

      * History of Character Codes

      * Definitions

      * Encodings

      * References

    * Python's Unicode Support

      * The String Type

      * Converting to Bytes

      * Unicode Literals in Python Source Code

      * Unicode Properties

      * Unicode Regular Expressions

      * References

    * Reading and Writing Unicode Data

      * Unicode filenames

      * Tips for Writing Unicode-aware Programs

        * Converting Between File Encodings

        * Files in an Unknown Encoding

      * References

    * Acknowledgements

  * HOWTO Fetch Internet Resources Using The urllib Package

    * 概述

    * Fetching URLs

      * Data

      * Headers

    * 处理异常

      * URLError

      * HTTPError

        * Error Codes

      * Wrapping it Up

        * Number 1

        * Number 2

    * info and geturl

    * Openers and Handlers

    * Basic Authentication

    * Proxies

    * Sockets and Layers

    * 脚注

  * Argparse 教程

    * 概念

    * The basics

    * Introducing Positional arguments

    * Introducing Optional arguments

      * Short options

    * Combining Positional and Optional arguments

    * Getting a little more advanced

      * Conflicting options

    * Conclusion

  * An introduction to the ipaddress module

    * Creating Address/Network/Interface objects

      * A Note on IP Versions

      * IP Host Addresses

      * Defining Networks

      * Host Interfaces

    * Inspecting Address/Network/Interface Objects

    * Networks as lists of Addresses

    * Comparisons

    * Using IP Addresses with other modules

    * Getting more detail when instance creation fails

  * 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

  * Instrumenting CPython with DTrace and SystemTap

    * Enabling the static markers

    * Static DTrace probes

    * Static SystemTap markers

    * Available static markers

    * SystemTap Tapsets

    * 示例

* Python经常被问到的问题

  * Python的常见问题

    * 一般信息

    * Python in the real world

  * Programming FAQ

    * General Questions

    * Core Language

    * Numbers and strings

    * Performance

    * Sequences (Tuples/Lists)

    * 字典

    * Objects

    * 模块

  * 设计和历史常见问题

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

    * Why am I getting strange results with simple arithmetic
      operations?

    * Why are floating-point calculations so inaccurate?

    * Why are Python strings immutable?

    * Why must 'self' be used explicitly in method definitions and
      calls?

    * Why can't I use an assignment in an expression?

    * Why does Python use methods for some functionality (e.g.
      list.index()) but functions for other (e.g. len(list))?

    * Why is join() a string method instead of a list or tuple
      method?

    * How fast are exceptions?

    * Why isn't there a switch or case statement in Python?

    * Can't you emulate threads in the interpreter instead of
      relying on an OS-specific thread implementation?

    * Why can't lambda expressions contain statements?

    * Can Python be compiled to machine code, C or some other
      language?

    * How does Python manage memory?

    * Why doesn't CPython use a more traditional garbage collection
      scheme?

    * Why isn't all memory freed when CPython exits?

    * Why are there separate tuple and list data types?

    * How are lists implemented in CPython?

    * How are dictionaries implemented in CPython?

    * Why must dictionary keys be immutable?

    * Why doesn't list.sort() return the sorted list?

    * How do you specify and enforce an interface spec in Python?

    * Why is there no goto?

    * Why can't raw strings (r-strings) end with a backslash?

    * Why doesn't Python have a "with" statement for attribute
      assignments?

    * Why are colons required for the if/while/def/class statements?

    * Why does Python allow commas at the end of lists and tuples?

  * 代码库和插件 FAQ

    * 通用的代码库问题

    * 通用任务

    * 线程相关

    * 输入输出

    * 网络 / Internet 编程

    * 数据库

    * 数学和数字

  * Extending/Embedding FAQ

    * Can I create my own functions in C?

    * Can I create my own functions in C++?

    * Writing C is hard; are there any alternatives?

    * How can I execute arbitrary Python statements from C?

    * How can I evaluate an arbitrary Python expression from C?

    * How do I extract C values from a Python object?

    * How do I use Py_BuildValue() to create a tuple of arbitrary
      length?

    * How do I call an object's method from C?

    * How do I catch the output from PyErr_Print() (or anything that
      prints to stdout/stderr)?

    * How do I access a module written in Python from C?

    * How do I interface to C++ objects from Python?

    * I added a module using the Setup file and the make fails; why?

    * How do I debug an extension?

    * I want to compile a Python module on my Linux system, but some
      files are missing. Why?

    * How do I tell "incomplete input" from "invalid input"?

    * How do I find undefined g++ symbols __builtin_new or
      __pure_virtual?

    * Can I create an object class with some methods implemented in
      C and others in Python (e.g. through inheritance)?

  * Python on Windows FAQ

    * How do I run a Python program under Windows?

    * How do I make Python scripts executable?

    * Why does Python sometimes take so long to start?

    * How do I make an executable from a Python script?

    * Is a "*.pyd" file the same as a DLL?

    * How can I embed Python into a Windows application?

    * How do I keep editors from inserting tabs into my Python
      source?

    * How do I check for a keypress without blocking?

  * Graphic User Interface FAQ

    * General GUI Questions

    * What platform-independent GUI toolkits exist for Python?

    * What platform-specific GUI toolkits exist for Python?

    * Tkinter questions

  * "Why is Python Installed on my Computer?" FAQ

    * 什么是Python？

    * Why is Python installed on my machine?

    * Can I delete Python?

* 术语表

* 文档说明

  * Python 文档贡献者

* 处理错误

  * 文档错误

  * 使用 Python 的错误追踪系统

  * 开始为 Python 贡献您的知识

* 版权

* History and License

  * History of the software

  * Terms and conditions for accessing or otherwise using Python

    * PSF LICENSE AGREEMENT FOR PYTHON 3.6.8rc1

    * BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0

    * CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1

    * CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2

  * Licenses and Acknowledgements for Incorporated Software

    * Mersenne Twister

    * 套接字

    * Floating point exception control

    * Asynchronous socket services

    * Cookie management

    * Execution tracing

    * UUencode and UUdecode functions

    * XML Remote Procedure Calls

    * test_epoll

    * Select kqueue

    * SipHash24

    * strtod and dtoa

    * OpenSSL

    * expat

    * libffi

    * zlib

    * cfuhash

    * libmpdec
