PEP 5 – 语言演进指南
- 作者:
- Paul Prescod <paul at prescod.net>
- 状态:
- 已废弃
- 类型:
- 流程
- 创建:
- 2000-10-26
- 修订历史:
- 被废弃原因:
- 387
目录
摘要
在编程语言的自然演进过程中,有时需要进行修改以改变旧程序的行为。本 PEP 提出了一项政策,以尊重现有的 Python 用户群,来实施这些改变。
实现细节
实现本 PEP 需要添加正式的警告和弃用功能,这将在另一个提案中描述。
范围
这些指南适用于未来引入向后不兼容行为的 Python 版本。向后不兼容行为是指 Python 解释器与标准 Python 文档中描述的早期行为相比发生的重大偏差。删除功能也构成行为变更。
本 PEP 并不取代或排除其他兼容策略,例如动态加载向后兼容的解析器。另一方面,如果“旧代码”的执行需要特殊开关或编译指示,那么从用户的角度来看,这确实是一种行为变更,并且应根据这些指南来实施这种变更。
总的来说,在实施这些指南时,必须保持常识。例如,更改“sys.copyright”并不构成向后不兼容的行为变更!
引入向后不兼容功能的步骤
- 在 PEP 中提出向后不兼容的行为。PEP 必须包含一个关于向后兼容性的部分,详细描述完成剩余步骤的计划。
- 一旦 PEP 被接受为一个可行的方向,就实现一种替代方式来完成以前由正在移除或更改的功能提供的任务。例如,如果加法运算符计划被移除,那么 Python 的新版本可以实现一个“add()”内置函数。
- 在 Python 文档中正式弃用过时的结构。
- 在解析器中添加一个可选的警告模式,该模式将在使用弃用结构时通知用户。换句话说,所有将来将具有不同行为的程序都必须在此模式下触发警告。编译时警告优于运行时警告。警告消息应引导用户从弃用结构转向替代结构。
- 在发布 Python 过渡版本和发布向后不兼容版本之间,必须至少有一年的过渡期。用户将至少有一年的时间来测试他们的程序并将它们从使用弃用结构迁移到使用替代结构。
来源: https://github.com/python/peps/blob/main/peps/pep-0005.rst
最后修改: 2023-11-28 14:46:07 GMT