PEP-Python改进建议书
PEP 的全称是 Python Enhancement Proposals,即 Python 增强提案或 Python 改进建议书,主要通过邮件列表讨论问题、提议等方式,经过 Python 核心开发者的 review 和认可,最终形成的正式文档。
我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读!
PEP的作用
- 了解Python特性,以及为啥要设计这些特性,是怎么设计的,怎样更好地运用它们;
- 跟进社区动态,获知最佳实践方案,改进自己的代码;
- 参与热点议题讨论,或者提交新的PEP;
- 深入了解和更好的使用Python的一本指南。
PEP内容组成
从官网可知PEP主要分成三类:
Informational
这类 PEP 就是提供信息,告知信息,指导信息等。如 PEP 20(The Zen of Python)、PEP 404 (Python 2.8 Un-release Schedule,即宣告不会有Python2.8版本)。
Process
这类 PEP 主要是关于Python的信息。如 PEP 1(PEP Purpose and Guidelines,即关于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即关于迁移Python代码仓)。
Standards Track
这类PEP主要描述了Python的新功能和新实践(implementation),是数量最多的提案。如 PEP 3333(Python Web Server Gateway Interface v1.0.1,WSGI规范)
PEP形成过程
每个PEP起初都是一个草案(Draft),经过以下流程最好形成完整的提案:
A – Accepted (Standards Track only) or Active proposal 已接受(仅限标准跟踪)或有效提案
D – Deferred proposal 延期提案
F – Final proposal 最终提案
P – Provisional proposal 暂定提案
R – Rejected proposal 被否决的提案
S – Superseded proposal 被取代的提案
W – Withdrawn proposal 撤回提案
值得一读的PEP
PEP 0 – Index of Python Enhancement Proposals
PEP 7 – Style Guide for C Code,C扩展
PEP 8 – Style Guide for Python Code,编码规范(必读)
PEP 20 – The Zen of Python,Python之禅
PEP 202 – List Comprehensions,列表生成式
PEP 274 – Dict Comprehensions,字典生成式
PEP 234 – Iterators,迭代器
PEP 257 – Docstring Conventions,文档注释规范
PEP 282 – A Logging System,日志模块
PEP 289 – Generator Expressions,生成器表达式
PEP 318 – Decorators for Functions and Methods,装饰器
PEP 342 – Coroutines via Enhanced Generators,协程
PEP 343 – The “with” Statement,with语句
PEP 380 – Syntax for Delegating to a Subgenerator,yield from语法
PEP 405 – Python Virtual Environments,虚拟环境
PEP 492 – Coroutines with async and await syntax,async/await语
PEP 525 – Asynchronous Generators,异步生成器
PEP 3333 – Python Web Server Gateway Interface v1.0.1,Web开发
PEP-Python改进建议书