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