导读:如果你是一个python初学者,那么可能听过编码规范这一说;如果你是一个python老鸟,那么可能知道有很多PEP文档,但可能也缺乏系统了解;如果你是一个python大神,那么请你参与到PEP制定进程当中……本文是一篇关于PEP的入门介绍,旨在让广大pythoners快速认识PEP。
01 何为PEP
PEP,全称Python Enhancement Proposal,一般译为python增强提案,是一套关于Python百科全书式指南,全面记载python版本升级的完整纪实,几乎所有python的疑问都能在PEP中予以解答或者至少找到参考——是的,这就是一份python白皮书。
2000年7月13日PEP0创建,至今刚好是第20个年头,已发展成为几百个PEP提案。其中,不仅仅是python编程规范标准,更全面记载了pythoners关于改进研发python的提议、讨论,还有python版本的更新周期计划,可以说无论是python入门初学还是资深极客,都能深飨其中、受益良多。
02 PEP信息介绍
一份PEP提案包括摘要和正文两部分,其中典型的摘要至少包括7个信息:分别是PEP编号、标题、最后修订日期、作者、状态、类型和创建日期,正文结构和内容则依不同PEP类型而异。
PEP0——关于PEPs的索引
简要介绍几个摘要信息字段:
PEP编号一旦指定则"终身"不能修改,即使是该提案废弃也不回收编号。另外,有的PEP编号也被保留以作未来使用,目前PEP801是唯一一个保留编号。
所以,推荐学习的PEP文档一般是A状态和F状态,其次是D和P状态。当然,阅读其他状态的PEP文档也能拓展对python开发历程和大佬们思想斗争的了解。
其中,标准类提案占比最大,涵盖了python语法、标准和编程规范的行为指南;资讯类用于宣布python的一些大的改进计划,如各个大版本发布前都会有一个Release Schedule(版本周期)的PEP;进程类,python之外的一些信息,例如:PEP 581 -- Using GitHub Issues for CPython。
03 阅读PEP渠道
查阅PEP官方文档的渠道主要有2种,一个是python官方主页,另一个是python GitHub仓库。
python官方主页中PEPs目录
官方主页中,给出了2种索引目录形式,一个是按分类索引,即按照PEP状态信息进行分类,例如Accepted、Finished等等;另一个是按照PEP编号索引,纯粹是按照编号序列进行排布。在每个索引目录中,可以通过类型和状态字缩写来迅速了解一份PEP文档状态,从而判断是否有必要阅读。
PEP596给出了python3.9版本周期
PEP597明确windows系统默认使用UTF-8编码
PEP仓库目前有288位贡献者、8294次提交
另外,除了python官方渠道,国内也有很多python爱好者将一些重要的PEP文档翻译成中文(包括GitHub上也有PEP汉译文档仓库),可供入门学习,只是目前数量还比较少。
04 必读PEP推荐
如果想变得更加pythonic,那么有些PEP几乎是必读的。以下列出了几个非常重要的PEP文档(排名区分先后):
05 参与PEP提案
PEP不是开发者的专享,而是面向所有pythoners开放。在PEP1中给出了参与PEP制定的工作流程:
当然,真正能成为PEP的一名作者并不容易,但倘若真的有兴趣也有实力,那么贡献一个PEP提案真是一件值得称耀的事情。
06 总结
本文面向python初学者对PEP进行基本介绍,包括PEP信息分类、查阅PEP渠道和几个必读PPE文档等信息,旨在使初学者尽快入门和学习PEP相关文档信息
注:点击阅读原本进入PEP首页