日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

PEP Python Enhancement Proposals(python增强提案\python改进建议书)(重点PEP8)

發布時間:2025/3/20 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PEP Python Enhancement Proposals(python增强提案\python改进建议书)(重点PEP8) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引用文章:python 的眾多PEP 之中,除了PEP8 ,還有哪一些是值得閱讀的? - 豌豆花下貓的回答 - 知乎

PEP是什么?

PEP的全稱是Python Enhancement Proposals,其中Enhancement是增強改進的意思,Proposals則可譯為提案或建議書,所以合起來,比較常見的翻譯是Python增強提案或Python改進建議書。

我個人傾向于前一個翻譯,因為它更貼切。Python核心開發者主要通過郵件列表討論問題、提議、計劃等,PEP通常是匯總了多方信息,經過了部分核心開發者review和認可,最終形成的正式文檔,起到了對外公示的作用,所以我認為翻譯成“提案”更恰當。

PEP的官網是:https://www.python.org/dev/peps/,這也就是PEP 0 的地址。其它PEP的地址是將編號拼接在后面,例如:https://www.python.org/dev/peps/pep-0020/ 就是PEP 20 的鏈接,以此類推。

第一個PEP誕生于2000年,現在正好是18歲成年。到目前為止,它擁有478個“兄弟姐妹”。

官方將PEP分成三類:
I - Informational PEP
P - Process PEP
S - Standards Track PEP

其含義如下:

信息類:這類PEP就是提供信息,有告知類信息,也有指導類信息等等。例如PEP 20(The Zen of Python,即著名的Python之禪)、PEP 404 (Python 2.8 Un-release Schedule,即宣告不會有Python2.8版本)。

流程類:這類PEP主要是Python本身之外的周邊信息。例如PEP 1(PEP Purpose and Guidelines,即關于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即關于遷移Python代碼倉)。

標準類:這類PEP主要描述了Python的新功能和新實踐(implementation),是數量最多的提案。例如我之前推文《詳解Python拼接字符串的七種方式》提到過的f-string方式,它出自PEP 498(Literal String Interpolation,字面字符串插值)。

每個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 0(Index of Python Enhancement Proposals (PEPs))里,官方列舉了所有的PEP,你可以按序號、按類型以及按狀態進行檢索。而在PEP 1(PEP Purpose and Guidelines)里,官方詳細說明了PEP的意圖、如何提交PEP、如何修復和更新PEP、以及PEP評審的機制等等。

為什么要讀PEP?

無論你是剛入門Python的小白、有一定經驗的從業人員,還是資深的黑客,都應該閱讀Python增強提案。依我之見,閱讀PEP至少有如下好處:

(1)了解Python有哪些特性,它們與其它語言特性的差異,為什么要設計這些特性,是怎么設計的,怎樣更好地運用它們;
(2)跟進社區動態,獲知業內的最佳實踐方案,調整學習方向,改進工作業務的內容;
(3)參與熱點議題討論,或者提交新的PEP,為Python社區貢獻力量。

說到底,學會用Python編程,只是掌握了皮毛。PEP提案是深入了解Python的途徑,是真正掌握Python語言的一把鑰匙,也是得心應手使用Python的一本指南。

哪些PEP是必讀的?

如前所述,PEP提案已經累積產生了478個,我們并不需要對每個PEP都熟知,沒有必要。下面,我列舉了一些PEP,推薦大家一讀:
PEP 0 – Index of Python Enhancement Proposals
PEP 7 – Style Guide for C Code,C擴展
PEP 8 – Style Guide for Python Code,Python編碼規范(必讀)
PEP 20 – The Zen of Python,Python之禪
PEP 202 – List Comprehensions,列表生成式
PEP 274 – Dict Comprehensions,字典生成式
PEP 234 – Iterators,迭代器
PEP 257 – Docstring Conventions,文檔注釋規范
PEP 279 – The enumerate() built-in function,enumerate枚舉
PEP 282 – A Logging System,日志模塊
PEP 285 – Adding a bool type,布爾值(建議閱讀《Python對象的身份迷思:從全體公民到萬物皆數》)
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 471 – os.scandir() function,遍歷目錄
PEP 484 – Type Hints,類型約束
PEP 492 – Coroutines with async and await syntax,async/await語法
PEP 498 – Literal String Interpolation Python,字面字符串插值
PEP 525 – Asynchronous Generators,異步生成器
PEP 572 – Assignment Expressions,表達式內賦值(最具爭議)
PEP 3105 – Make print a function,print改為函數
PEP 3115 – Metaclasses in Python 3000,元類
PEP 3120 – Using UTF-8 as the default source encoding,默認UTF-8
PEP 3333 – Python Web Server Gateway Interface v1.0.1,Web開發
PEP 8000 – Python Language Governance Proposal Overview,GvR老爹推出決策層后,事關新決策方案

參考文章:Python PEP8 編碼規范中文版

總結

以上是生活随笔為你收集整理的PEP Python Enhancement Proposals(python增强提案\python改进建议书)(重点PEP8)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。