类型提示 PEPs
引言
这是所有被标记为“类型提示”主题的 Python 增强提案(PEPs)的索引。它是 PEP 0(PEP 索引)的一个子索引。
许多近期的 PEP 提案修改了 Python 的静态类型系统或与类型注解相关。它们在此列出以供参考。
按类别索引
流程和元PEP
PEP | 标题 | 作者 | |
---|---|---|---|
PA | 729 | 类型提示治理流程 | Jelle Zijlstra, Shantanu Jain |
其他信息性 PEPs
PEP | 标题 | 作者 | |
---|---|---|---|
IF | 482 | 类型提示文献概述 | Łukasz Langa |
IF | 483 | 类型提示理论 | Guido van Rossum, Ivan Levkivskyi |
已接受的 PEPs(已接受;可能尚未实现)
PEP | 标题 | 作者 | ||
---|---|---|---|---|
SA | 728 | 带有类型化额外项的 TypedDict | Zixuan James Li | 3.15 |
开放PEP(正在审议中)
PEP | 标题 | 作者 | ||
---|---|---|---|---|
S | 718 | 可下标函数 | James Hilton-Balfe | 3.15 |
S | 746 | 检查 Annotated 元数据的类型 | Adrian Garcia Badaracco | 3.15 |
S | 747 | 注解类型形式 | David Foster, Eric Traut | 3.15 |
S | 764 | 内联类型字典 | Victorien Plot | 3.15 |
S | 767 | 注解只读属性 | Eneg | 3.15 |
S | 781 | 将 TYPE_CHECKING 设为内置常量 | Inada Naoki | 3.15 |
S | 800 | 类型系统中的不相交基类 | Jelle Zijlstra | 3.15 |
已完成的PEP(已完成,接口稳定)
PEP | 标题 | 作者 | ||
---|---|---|---|---|
SF | 484 | 类型提示 | Guido van Rossum, Jukka Lehtosalo, Łukasz Langa | 3.5 |
SF | 526 | 变量注解的语法 | Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach, Guido van Rossum | 3.6 |
SF | 544 | 协议:结构化子类型(静态鸭子类型) | Ivan Levkivskyi, Jukka Lehtosalo, Łukasz Langa | 3.8 |
SF | 560 | 对 typing 模块和泛型类型的核心支持 | Ivan Levkivskyi | 3.7 |
SF | 561 | 分发和打包类型信息 | Emma Harper Smith | 3.7 |
SF | 585 | 标准集合中的泛型类型提示 | Łukasz Langa | 3.9 |
SF | 586 | 字面量类型 | Michael Lee, Ivan Levkivskyi, Jukka Lehtosalo | 3.8 |
SF | 589 | TypedDict:具有固定键集的字典的类型提示 | Jukka Lehtosalo | 3.8 |
SF | 591 | 为类型提示添加 final 限定符 | Michael J. Sullivan, Ivan Levkivskyi | 3.8 |
SF | 593 | 灵活的函数和变量注解 | Till Varoquaux, Konstantin Kashin | 3.9 |
SF | 604 | 允许将联合类型写作 X | Y | Philippe PRADOS, Maggie Moss | 3.10 |
SF | 612 | 参数规范变量 | Mark Mendoza | 3.10 |
SF | 613 | 显式类型别名 | Shannon Zhu | 3.10 |
SF | 646 | 可变泛型 | Mark Mendoza, Matthew Rahtz, Pradeep Kumar Srinivasan, Vincent Siles | 3.11 |
SF | 647 | 用户自定义类型守卫 | Eric Traut | 3.10 |
SF | 649 | 使用描述符延迟评估注解 | Larry Hastings | 3.14 |
SF | 655 | 将 TypedDict 中的单个项标记为必需或可能缺失 | David Foster | 3.11 |
SF | 673 | Self 类型 | Pradeep Kumar Srinivasan, James Hilton-Balfe | 3.11 |
SF | 675 | 任意字面量字符串类型 | Pradeep Kumar Srinivasan, Graham Bleaney | 3.11 |
SF | 681 | 数据类转换 | Erik De Bonte, Eric Traut | 3.11 |
SF | 688 | 使缓冲区协议可在 Python 中访问 | Jelle Zijlstra | 3.12 |
SF | 692 | 使用 TypedDict 实现更精确的 **kwargs 类型提示 | Franek Magiera | 3.12 |
SF | 695 | 类型参数语法 | Eric Traut | 3.12 |
SF | 696 | 类型参数的类型默认值 | James Hilton-Balfe | 3.13 |
SF | 698 | 用于静态类型检查的 Override 装饰器 | Steven Troxler, Joshua Xu, Shannon Zhu | 3.12 |
SF | 702 | 使用类型系统标记废弃 | Jelle Zijlstra | 3.13 |
SF | 705 | TypedDict:只读项 | Alice Purcell | 3.13 |
SF | 742 | 使用 TypeIs 缩小类型 | Jelle Zijlstra | 3.13 |
SF | 749 | 实现 PEP 649 | Jelle Zijlstra | 3.14 |
已拒绝、已取代和已撤回的PEP
PEP | 标题 | 作者 | ||
---|---|---|---|---|
SS | 563 | 注解的延迟评估 | Łukasz Langa | 3.7 |
SR | 677 | 可调用类型语法 | Steven Troxler, Pradeep Kumar Srinivasan | 3.11 |
SW | 724 | 更严格的类型守卫 | Rich Chiodo, Eric Traut, Erik De Bonte | 3.13 |
SW | 727 | Annotated 元数据中的文档 | Sebastián Ramírez | 3.13 |
PEP 类型键
- I — 信息性:包含与 Python 生态系统相关的背景、指南或其他信息的非规范性 PEP
- P — 过程:描述或提议改变 Python 社区过程、工作流或治理的规范性 PEP
- S — 标准追踪:包含 Python 新特性、CPython 实现变更或生态系统互操作性标准的规范性 PEP
PEP 状态键
- A — 已接受:已被接受并待实现的规范性提案
- A — 活跃:当前有效的指导性信息,或正在使用的过程
- D — 已推迟:非活跃的草案,可能会在稍后重新审议
- <无字母> — 草案:正在积极讨论和修订的提案
- F — 最终:已接受且实现完成,或不再活跃
- P — 临时:临时接受但需要额外反馈
- R — 已拒绝:已被正式拒绝,将不被接受
- S — 已取代:已被另一个后续 PEP 取代
- W — 已撤回:由发起人或作者撤回,不再考虑