Python 中的 PEP 是什么?


在这篇文章中,我们将向您解释PEP,即 Python 中的 Python 增强提案。

PEPPython Enhancement Proposal的缩写。PEP 是一种设计文档,用于告知 Python 社区或描述 Python 的新功能、其流程或其环境。PEP 应提供对该功能的简要技术描述及其原因。PEP 的目的是成为提出重要新功能、收集社区对问题的意见以及记录 Python 设计决策的主要机制。

PEP 作者负责在社区内达成共识并记录反对(异议)意见。

因为 PEP 作为文本文件存储在版本控制的存储库中,所以它们的修订历史记录充当功能提案的历史记录。可以使用标准的 git 命令访问此历史记录以获取以前的版本,也可以在 GitHub 上浏览它。

PEP 的类型

PEP 分为三种类型:

  • 标准跟踪 PEP 定义了 Python 的新功能或实现。它还可以指定一个互操作性标准,该标准将在标准库之外为当前的 Python 版本提供支持,直到未来的 PEP 添加标准库支持。

  • 信息性 PEP 解决了 Python 设计问题,或为 Python 社区提供一般指导或信息,而无需提出新功能。用户和实施者可以忽略或遵循信息性 PEP,因为它们不一定代表 Python 社区的共识或建议。

  • 流程 PEP 描述了与 Python 相关的流程,或建议更改(或事件)流程。流程 PEP 类似于标准跟踪 PEP,因为它们适用于 Python 语言以外的领域。它们可能会建议实现,但不是对 Python 代码库;它们通常需要社区共识;因此,与信息性 PEP 不同,它们不仅仅是用户可以随意忽略/不予理会的建议。程序、指南、决策流程的更改以及用于 Python 开发的工具或环境的修改都是示例。任何元 PEP 也是流程 PEP。

PEP 的工作流程

Python 指导委员会

此 PEP 经常引用“指导委员会”或“委员会”。这指的是 PEP 13 中提到的当选指导委员会的现任成员,他们作为 PEP 是否被接受或拒绝的最终决策者。

Python 的核心开发者

此 PEP 经常引用“核心开发者”。这与 PEP 13 中定义的当前活跃的 Python 核心团队成员有关。

Python 的 BDFL

此 PEP 的早期版本将 PEP 决策者称为“BDFL 代表”。这是对 Python 旧治理模型的历史参考,在该模型中,所有设计权限最终都源自 Python 计算机语言的原始开发者 Guido van Rossum。另一方面,指导委员会的设计权限源于他们由当前活跃的核心开发人员选举产生。现在使用 PEP 代表代替 BDFL 代表。

PEP 编辑

PEP 编辑是负责管理 PEP 工作流程的管理和编辑部分的人员(例如,分配 PEP 编号和更改其状态)。有关更多信息,请参阅 PEP 编辑职责和工作流程。

PEP 编辑权由现任编辑邀请,可以通过在 GitHub 上提及 @python/pep-editors 联系他们。PEP 工作流程可以通过 GitHub PEP 存储库问题和拉取请求完全完成。

从 Python 的想法开始

PEP 流程始于一个新的 Python 想法。单个 PEP 应包含一个重要的提案或新概念;PEP 越集中,成功的可能性就越大。大多数改进和错误修复不需要 PEP,可以直接报告给 Python 问题跟踪器。PEP 编辑保留拒绝似乎过于宽泛或缺乏重点的 PEP 提案的酌处权。如有疑问,请将您的 PEP 分成多个集中的 PEP。

每个 PEP 都需要一位负责人,该负责人以如下定义的方式和格式编写 PEP,在适当的论坛中主持讨论,并努力围绕该概念达成社区共识。PEP 负责人(也称为作者)应首先确定该想法是否适合 PEP。除非是更专业的领域,例如静态类型的 Typing-SIG 或 Python Discourse 的打包类别,否则发布到 Python Discourse 的 Ideas 类别通常是最好的方法。

在深入到撰写 PEP 的程度之前公开评估一个概念的目的是为了节省潜在作者的时间。许多修改 Python 的想法已被提出并因各种原因而被拒绝。首先询问 Python 社区某个提案是否原创有助于避免浪费时间在几乎肯定会被拒绝的事情上(搜索互联网并不总是奏效)。它还有助于确保该想法适用于整个社区,而不仅仅是作者。仅仅因为某个想法对创建者来说似乎很棒,并不保证它对 Python 使用的大多数地区的大多数人都有效。

在负责人询问 Python 社区某个想法是否有被接受的可能性后,应将 PEP 草稿提交到上述场所。这允许作者填写 PEP 草稿,使其格式正确、质量高,并解决对该提案的任何早期担忧。

结论

在这篇文章中,我们学习了 pep、pep 的不同版本、pep 的类型、pep 的受众以及 pep 的工作流程。

更新于:2022 年 10 月 20 日

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.