Python 文档内容 — Python 文档
来自菜鸟教程
Python/docs/3.9/contents
Python 文档内容
- Python 中的新功能
- Python 3.9 中的新功能
- Python 3.8 中的新功能
- Python 3.7 中的新功能
- 摘要 – 发布亮点
- 新功能
- 其他语言更改
- 新模块
- 改进的模块
- 参数解析
- 异步
- 二进制文件
- 日历
- 收藏
- 编译所有
- 并发期货
- 上下文库
- 个人资料
- 地穴
- 约会时间
- 数据库
- 十进制
- 迪斯
- 分配器
- 枚举
- 功能工具
- GC
- 海马
- 客户端
- http.server
- 空闲库和空闲
- 导入库
- io
- IP地址
- 迭代工具
- 语言环境
- 日志记录
- 数学
- 模仿类型
- msilib
- 多处理
- 操作系统
- 路径库
- 数据库
- py_compile
- pydoc
- 队列
- 关于
- 信号
- 插座
- 套接字服务器
- sqlite3
- ssl
- 细绳
- 子流程
- 系统
- 时间
- 特金特
- tracemalloc
- 类型
- 单码数据
- 单元测试
- 单元测试.mock
- urllib.parse
- uu
- 用户名
- 警告
- xml文件
- xmlrpc.server
- 压缩包
- 压缩文件
- C API 更改
- 构建更改
- 优化
- 其他 CPython 实现更改
- 弃用的 Python 行为
- 弃用的 Python 模块、函数和方法
- 不推荐使用的 C API 函数和类型
- 平台支撑拆除
- API 和功能删除
- 模块拆卸
- 仅限 Windows 的更改
- 移植到 Python 3.7
- 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 探测支持
- 其他语言更改
- 新模块
- 改进的模块
- 大批
- AST
- 异步
- 二进制文件
- 数学
- 收藏
- 并发期货
- 上下文库
- 约会时间
- 十进制
- 分配器
- 电子邮件
- 编码
- 枚举
- 故障处理程序
- 文件输入
- 哈希库
- 客户端
- 空闲库和空闲
- 导入库
- 检查
- json
- 日志记录
- 数学
- 多处理
- 操作系统
- 路径库
- 数据库
- 泡菜
- 泡菜工具
- pydoc
- 随机的
- 关于
- 阅读线
- 完成者
- 史莱克
- 地点
- sqlite3
- 插座
- 套接字服务器
- ssl
- 统计数据
- 结构
- 子流程
- 系统
- 远程登录库
- 时间
- 时间
- 特金特
- 追溯
- tracemalloc
- 打字
- 单码数据
- 单元测试.mock
- urllib.request
- urllib.robotparser
- venv
- 警告
- 温格
- 赢音
- 客户端
- 压缩文件
- zlib
- 优化
- 构建和 C API 更改
- 其他改进
- 已弃用
- 已移除
- 移植到 Python 3.6
- Python 3.6.2 中的显着变化
- Python 3.6.4 中的显着变化
- Python 3.6.5 中的显着变化
- Python 3.6.7 中的显着变化
- Python 3.6.10 中的显着变化
- Python 3.6.13 中的显着变化
- Python 3.5 中的新功能
- 摘要 – 发布亮点
- 新功能
- PEP 492 - 带有 async 和 await 语法的协程
- PEP 465 - 用于矩阵乘法的专用中缀运算符
- PEP 448 - 额外的解包概括
- PEP 461 - 字节和字节数组的百分比格式支持
- PEP 484 - 类型提示
- PEP 471 - os.scandir() 函数 - 更好更快的目录迭代器
- PEP 475:使用 EINTR 重试失败的系统调用
- PEP 479:更改生成器内部的 StopIteration 处理
- PEP 485:用于测试近似相等性的函数
- PEP 486:让 Python Launcher 了解虚拟环境
- PEP 488:消除 PYO 文件
- PEP 489:多阶段扩展模块初始化
- 其他语言更改
- 新模块
- 改进的模块
- 参数解析
- 异步
- bz2
- 计算机图形学
- 数学
- 代码
- 收藏
- 收藏.abc
- 编译所有
- 并发期货
- 配置解析器
- 上下文库
- 文件
- 诅咒
- 数据库
- 差异库
- 分配器
- 文档测试
- 电子邮件
- 枚举
- 故障处理程序
- 功能工具
- 球体
- 压缩包
- 堆
- http
- 客户端
- 空闲库和空闲
- 映射库
- 图像
- 导入库
- 检查
- io
- IP地址
- json
- 线缓存
- 语言环境
- 日志记录
- lzma
- 数学
- 多处理
- 操作员
- 操作系统
- 路径库
- 泡菜
- 流行库
- 关于
- 阅读线
- 选择器
- 休蒂尔
- 信号
- smtpd
- smtplib
- sndhdr
- 插座
- ssl
- sqlite3
- 子流程
- 系统
- 系统配置
- tar文件
- 穿线
- 时间
- 时间
- 特金特
- 追溯
- 类型
- 单码数据
- 单元测试
- 单元测试.mock
- 网址库
- wsgiref
- xmlrpc
- sax文件
- 压缩文件
- 其他模块级更改
- 优化
- 构建和 C API 更改
- 已弃用
- 已移除
- 移植到 Python 3.5
- Python 3.5.4 中的显着变化
- Python 3.4 中的新功能
- Python 3.3 中的新功能
- 摘要 – 发布亮点
- PEP 405:虚拟环境
- PEP 420:隐式命名空间包
- PEP 3118:新的 memoryview 实现和缓冲区协议文档
- PEP 393:灵活的字符串表示
- PEP 397:适用于 Windows 的 Python 启动器
- PEP 3151:重新设计 OS 和 IO 异常层次结构
- PEP 380:委托给子生成器的语法
- PEP 409:抑制异常上下文
- PEP 414:显式 Unicode 文字
- PEP 3155:类和函数的限定名称
- PEP 412:密钥共享字典
- PEP 362:函数签名对象
- PEP 421:添加 sys.implementation
- 使用 importlib 作为导入的实现
- 其他语言更改
- 更细粒度的导入锁
- 内置函数和类型
- 新模块
- 改进的模块
- 优化
- 构建和 C API 更改
- 已弃用
- 移植到 Python 3.3
- Python 3.2 中的新功能
- Python 3.1 中的新功能
- Python 3.0 中的新功能
- Python 2.7 中的新功能
- Python 2.6 中的新功能
- 蟒蛇 3.0
- 开发过程的变化
- PEP 343:'with' 语句
- PEP 366:来自主模块的显式相对导入
- PEP 370:每用户
site-packages
目录 - PEP 371:
multiprocessing
包 - PEP 3101:高级字符串格式
- PEP 3105:
print
作为一个函数 - PEP 3110:异常处理更改
- PEP 3112:字节文字
- PEP 3116:新的 I/O 库
- PEP 3118:修订缓冲协议
- PEP 3119:抽象基类
- PEP 3127:整数文字支持和语法
- PEP 3129:类装饰器
- PEP 3141:数字的类型层次结构
- 其他语言更改
- 新的和改进的模块
- 弃用和删除
- 构建和 C API 更改
- 移植到 Python 2.6
- 致谢
- Python 2.5 中的新功能
- Python 2.4 中的新功能
- Python 2.3 中的新功能
- PEP 218:标准集数据类型
- PEP 255:简单的生成器
- PEP 263:源代码编码
- PEP 273:从 ZIP 档案导入模块
- PEP 277:支持 Windows NT 的 Unicode 文件名
- PEP 278:通用换行支持
- PEP 279:枚举()
- PEP 282:日志包
- PEP 285:布尔类型
- PEP 293:编解码器错误处理回调
- PEP 301:Distutils 的包索引和元数据
- PEP 302:新的导入钩子
- PEP 305:逗号分隔的文件
- PEP 307:泡菜增强
- 扩展切片
- 其他语言更改
- 新的、改进的和弃用的模块
- Pymalloc:一个专门的对象分配器
- 构建和 C API 更改
- 其他更改和修复
- 移植到 Python 2.3
- 致谢
- Python 2.2 中的新功能
- Python 2.1 中的新功能
- Python 2.0 中的新增功能
- 变更日志
- Python 教程
- 1. 开胃
- 2. 使用 Python 解释器
- 3. Python 的非正式介绍
- 4. 更多控制流工具
- 5. 数据结构
- 6. 模块
- 7. 输入和输出
- 8. 错误和异常
- 9. 班级
- 10. 标准库简介
- 11. 标准库简介——第二部分
- 12. 虚拟环境和包
- 13. 现在怎么办?
- 14. 交互式输入编辑和历史替换
- 15. 浮点运算:问题和限制
- 16. 附录
- Python 设置和使用
- Python 语言参考
- 1. 介绍
- 2. 词法分析
- 3. 数据模型
- 4. 执行模型
- 5. 进口系统
- 6. 表达式
- 7. 简单的语句
- 8. 复合语句
- 9. 顶级组件
- 10. 完整的语法规范
- Python 标准库
- 介绍
- 内置函数
- 内置常量
- 内置类型
- 内置异常
- 文本处理服务
- 二进制数据服务
- 数据类型
datetime
— 基本日期和时间类型zoneinfo
— IANA 时区支持calendar
— 通用日历相关功能collections
— 容器数据类型collections.abc
— 容器的抽象基类heapq
— 堆队列算法bisect
— 数组二分算法array
— 高效的数值数组weakref
— 弱引用types
— 内置类型的动态类型创建和名称copy
— 浅拷贝和深拷贝操作pprint
— 数据漂亮的打印机reprlib
— 替代repr()
实现enum
— 支持枚举graphlib
— 操作图形结构的功能
- 数值和数学模块
- 函数式编程模块
- 文件和目录访问
- 数据持久化
- 数据压缩和归档
- 文件格式
- 密码服务
- 通用操作系统服务
os
— 其他操作系统接口io
— 处理流的核心工具time
— 时间访问和转换argparse
— 命令行选项、参数和子命令的解析器getopt
— 命令行选项的 C 风格解析器logging
— Python 的日志记录工具logging.config
— 日志配置logging.handlers
— 日志处理程序getpass
— 便携式密码输入curses
— 字符单元显示的终端处理curses.textpad
— 诅咒程序的文本输入小部件curses.ascii
— ASCII 字符的实用程序curses.panel
— 一个针对 curses 的面板集扩展platform
— 访问底层平台的识别数据errno
— 标准 errno 系统符号ctypes
— Python 的外部函数库
- 并发执行
- 网络和进程间通信
- 互联网数据处理
email
— 电子邮件和 MIME 处理包email.message
:表示电子邮件email.parser
:解析电子邮件email.generator
:生成 MIME 文档email.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 编码器和解码器mailcap
— Mailcap 文件处理mailbox
— 操作各种格式的邮箱mimetypes
— 将文件名映射到 MIME 类型base64
— Base16、Base32、Base64、Base85 数据编码binhex
— 编码和解码 binhex4 文件binascii
— 在二进制和 ASCII 之间转换quopri
— 编码和解码 MIME 引用的可打印数据uu
— 对 uuencode 文件进行编码和解码
- 结构化标记处理工具
html
— 超文本标记语言支持html.parser
— 简单的 HTML 和 XHTML 解析器html.entities
— HTML 通用实体的定义- XML 处理模块
xml.etree.ElementTree
— ElementTree XML APIxml.dom
— 文档对象模型 APIxml.dom.minidom
— 最小的 DOM 实现xml.dom.pulldom
— 支持构建部分 DOM 树xml.sax
— 支持 SAX2 解析器xml.sax.handler
— SAX 处理程序的基类xml.sax.saxutils
— SAX 实用程序xml.sax.xmlreader
— XML 解析器的接口xml.parsers.expat
— 使用 Expat 的快速 XML 解析
- 互联网协议和支持
webbrowser
— 方便的 Web 浏览器控制器cgi
— 通用网关接口支持cgitb
— CGI 脚本的回溯管理器wsgiref
— WSGI 实用程序和参考实现urllib
— URL 处理模块urllib.request
— 用于打开 URL 的可扩展库- 请求对象
- OpenerDirector 对象
- BaseHandler 对象
- HTTPRedirectHandler 对象
- HTTPCookieProcessor 对象
- ProxyHandler 对象
- HTTPPasswordMgr 对象
- HTTPPasswordMgrWithPriorAuth 对象
- AbstractBasicAuthHandler 对象
- HTTPBasicAuthHandler 对象
- ProxyBasicAuthHandler 对象
- AbstractDigestAuthHandler 对象
- HTTPDigestAuthHandler 对象
- ProxyDigestAuthHandler 对象
- HTTPHandler 对象
- HTTPSHandler 对象
- 文件处理器对象
- 数据处理器对象
- FTPHandler 对象
- CacheFTPHandler 对象
- UnknownHandler 对象
- HTTPErrorProcessor 对象
- 例子
- 传统界面
urllib.request
限制
urllib.response
— urllib 使用的响应类urllib.parse
— 将 URL 解析为组件urllib.error
— urllib.request 引发的异常类urllib.robotparser
— robots.txt 的解析器http
— HTTP 模块http.client
— HTTP 协议客户端ftplib
— FTP 协议客户端poplib
— POP3 协议客户端imaplib
— IMAP4 协议客户端nntplib
— NNTP 协议客户端smtplib
— SMTP 协议客户端smtpd
— SMTP 服务器telnetlib
— Telnet 客户端uuid
— 根据 RFC 4122 的 UUID 对象socketserver
— 网络服务器框架http.server
— HTTP 服务器http.cookies
— HTTP 状态管理http.cookiejar
— HTTP 客户端的 Cookie 处理xmlrpc
— XMLRPC 服务器和客户端模块xmlrpc.client
— XML-RPC 客户端访问xmlrpc.server
— 基本的 XML-RPC 服务器ipaddress
— IPv4/IPv6 操作库
- 多媒体服务
- 国际化
- 程序框架
- 使用 Tk 的图形用户界面
- 开发工具
typing
— 支持类型提示pydoc
— 文档生成器和在线帮助系统- Python开发模式
- Python开发模式的影响
- 资源警告示例
- 错误的文件描述符错误示例
doctest
— 测试交互式 Python 示例unittest
— 单元测试框架unittest.mock
— 模拟对象库unittest.mock
— 开始- 2to3 - 自动 Python 2 到 3 代码翻译
test
— Python 的回归测试包test.support
— Python 测试套件的实用程序test.support.socket_helper
— 用于套接字测试的实用程序test.support.script_helper
— Python 执行测试的实用程序test.support.bytecode_helper
— 用于测试正确字节码生成的支持工具
- 调试和分析
- 软件打包和分发
- Python 运行时服务
- 自定义 Python 解释器
- 导入模块
- Python 语言服务
parser
— 访问 Python 解析树ast
— 抽象语法树symtable
— 访问编译器的符号表symbol
— 与 Python 解析树一起使用的常量token
— 与 Python 解析树一起使用的常量keyword
— 测试 Python 关键字tokenize
— Python 源代码的分词器tabnanny
— 模糊压痕检测pyclbr
— Python 模块浏览器支持py_compile
— 编译 Python 源文件compileall
— 字节编译 Python 库dis
— Python 字节码的反汇编器pickletools
— pickle 开发人员的工具
- 杂项服务
- MS Windows 特定服务
- Unix 特定服务
- 被取代的模块
- 未记录的模块
- 安全注意事项
- 扩展和嵌入 Python 解释器
- Python/C API 参考手册
- 分发 Python 模块
- 安装 Python 模块
- Python HOWTO
- 将 Python 2 代码移植到 Python 3
- 将扩展模块移植到 Python 3
- 使用 Python 进行 Curses 编程
- 描述符操作指南
- 函数式编程HOWTO
- 日志 HOWTO
- 记录食谱
- 在多个模块中使用日志记录
- 从多个线程记录
- 多个处理程序和格式化程序
- 记录到多个目的地
- 配置服务器示例
- 处理阻塞的处理程序
- 通过网络发送和接收日志事件
- 将上下文信息添加到日志输出
- 从多个进程记录到单个文件
- 使用文件轮换
- 使用替代格式样式
- 定制
LogRecord
- 子类化 QueueHandler - ZeroMQ 示例
- 子类化 QueueListener - ZeroMQ 示例
- 基于字典的配置示例
- 使用旋转器和命名器自定义日志轮换处理
- 一个更精细的多处理示例
- 将 BOM 插入发送到 SysLogHandler 的消息中
- 实现结构化日志
- 使用
dictConfig()
自定义处理程序 - 在整个应用程序中使用特定的格式样式
- 使用
dictConfig()
配置过滤器 - 自定义异常格式
- 说日志消息
- 缓冲日志消息并有条件地输出它们
- 通过配置使用 UTC (GMT) 格式化时间
- 使用上下文管理器进行选择性日志记录
- CLI 应用程序启动模板
- 用于日志记录的 Qt GUI
- 要避免的模式
- 正则表达式 HOWTO
- 套接字编程HOWTO
- 排序方式
- Unicode HOWTO
- HOWTO 使用 urllib 包获取 Internet 资源
- Argparse 教程
- ipaddress 模块介绍
- 论证诊所操作指南
- Argument Clinic的目标
- 基本概念和用法
- 转换你的第一个函数
- 高级主题
- 符号默认值
- 重命名 Argument Clinic 生成的 C 函数和变量
- 使用 PyArg_UnpackTuple 转换函数
- 可选组
- 使用真正的 Argument Clinic 转换器,而不是“传统转换器”
- py_buffer
- 高级转换器
- 参数默认值
NULL
默认值- 指定为默认值的表达式
- 使用返回转换器
- 克隆现有函数
- 调用 Python 代码
- 使用“自转换器”
- 编写自定义转换器
- 编写自定义返回转换器
- METH_O 和 METH_NOARGS
- tp_new 和 tp_init 函数
- 更改和重定向 Clinic 的输出
- #ifdef 技巧
- 在 Python 文件中使用 Argument Clinic
- 使用 DTrace 和 SystemTap 检测 CPython
- Python 常见问题
- 一般 Python 常见问题解答
- 编程常见问题
- 设计和历史常见问题解答
- 为什么 Python 使用缩进来分组语句?
- 为什么我用简单的算术运算得到奇怪的结果?
- 为什么浮点计算如此不准确?
- 为什么 Python 字符串是不可变的?
- 为什么必须在方法定义和调用中显式使用“self”?
- 为什么我不能在表达式中使用赋值?
- 为什么 Python 为某些功能使用方法(例如 list.index()) 但其他函数(例如 len(列表))?
- 为什么 join() 是字符串方法而不是列表或元组方法?
- 异常有多快?
- 为什么 Python 中没有 switch 或 case 语句?
- 您不能在解释器中模拟线程而不是依赖于特定于操作系统的线程实现吗?
- 为什么 lambda 表达式不能包含语句?
- Python 可以编译成机器码、C 或其他语言吗?
- Python 是如何管理内存的?
- 为什么 CPython 不使用更传统的垃圾收集方案?
- 为什么 CPython 退出时没有释放所有内存?
- 为什么有单独的元组和列表数据类型?
- 列表是如何在 CPython 中实现的?
- 字典是如何在 CPython 中实现的?
- 为什么字典键必须是不可变的?
- 为什么 list.sort() 不返回排序列表?
- 你如何在 Python 中指定和执行接口规范?
- 为什么没有goto?
- 为什么原始字符串(r-strings)不能以反斜杠结尾?
- 为什么 Python 没有用于属性赋值的“with”语句?
- 为什么生成器不支持 with 语句?
- 为什么 if/while/def/class 语句需要冒号?
- 为什么 Python 允许在列表和元组末尾使用逗号?
- 库和扩展常见问题解答
- 扩展/嵌入常见问题
- 我可以在 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 常见问题解答
- 图形用户界面常见问题解答
- “为什么我的电脑上安装了 Python?” 常问问题
- 词汇表
- 关于这些文件
- 处理错误
- 版权
- 历史和许可证