本篇內(nèi)容介紹了“Python中的PEP知識(shí)點(diǎn)有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),乳山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:乳山等地區(qū)。乳山做網(wǎng)站價(jià)格咨詢:13518219792PEP是什么?
PEP的全稱是Python Enhancement Proposals,其中Enhancement是增強(qiáng)改進(jìn)的意思,Proposals則可譯為提案或建議書,所以合起來,比較常見的翻譯是Python增強(qiáng)提案或Python改進(jìn)建議書。
我個(gè)人傾向于前一個(gè)翻譯,因?yàn)樗N切。Python核心開發(fā)者主要通過郵件列表討論問題、提議、計(jì)劃等,PEP通常是匯總了多方信息,經(jīng)過了部分核心開發(fā)者review和認(rèn)可,最終形成的正式文檔,起到了對外公示的作用,所以我認(rèn)為翻譯成“提案”更恰當(dāng)。
PEP的官網(wǎng)是:https://www.python.org/dev/peps/,這也就是PEP 0 的地址。其它PEP的地址是將編號(hào)拼接在后面,例如:https://www.python.org/dev/peps/pep-0020/ 就是PEP 20 的鏈接,以此類推。
第一個(gè)PEP誕生于2000年,現(xiàn)在正好是18歲成年。到目前為止,它擁有478個(gè)“兄弟姐妹”。
官方將PEP分成三類:
I - Informational PEP
P - Process PEP
S - Standards Track PEP
其含義如下:
信息類:這類PEP就是提供信息,有告知類信息,也有指導(dǎo)類信息等等。例如PEP 20(The Zen of Python,即著名的Python之禪)、PEP 404 (Python 2.8 Un-release Schedule,即宣告不會(huì)有Python2.8版本)。
流程類:這類PEP主要是Python本身之外的周邊信息。例如PEP 1(PEP Purpose and Guidelines,即關(guān)于PEP的指南)、PEP 347(Migrating the Python CVS to Subversion,即關(guān)于遷移Python代碼倉)。
標(biāo)準(zhǔn)類:這類PEP主要描述了Python的新功能和新實(shí)踐(implementation),是數(shù)量最多的提案。。
每個(gè)PEP最初都是一個(gè)草案(Draft),隨后會(huì)經(jīng)歷一個(gè)過程,因此也就出現(xiàn)了不同的狀態(tài)。以下是一個(gè)流程圖:
A – Accepted (Standards Track only) or Active proposal 已接受(僅限標(biāo)準(zhǔn)跟蹤)或有效提案
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,你可以按序號(hào)、按類型以及按狀態(tài)進(jìn)行檢索。而在PEP 1(PEP Purpose and Guidelines)里,官方詳細(xì)說明了PEP的意圖、如何提交PEP、如何修復(fù)和更新PEP、以及PEP評審的機(jī)制等等。
為什么要讀PEP?
無論你是剛?cè)腴TPython的小白、有一定經(jīng)驗(yàn)的從業(yè)人員,還是資深的黑客,都應(yīng)該閱讀Python增強(qiáng)提案。
依我之見,閱讀PEP至少有如下好處:
(1)了解Python有哪些特性,它們與其它語言特性的差異,為什么要設(shè)計(jì)這些特性,是怎么設(shè)計(jì)的,怎樣更好地運(yùn)用它們;
(2)跟進(jìn)社區(qū)動(dòng)態(tài),獲知業(yè)內(nèi)的最佳實(shí)踐方案,調(diào)整學(xué)習(xí)方向,改進(jìn)工作業(yè)務(wù)的內(nèi)容;
(3)參與熱點(diǎn)議題討論,或者提交新的PEP,為Python社區(qū)貢獻(xiàn)力量。
說到底,學(xué)會(huì)用Python編程,只是掌握了皮毛。PEP提案是深入了解Python的途徑,是真正掌握Python語言的一把鑰匙,也是得心應(yīng)手使用Python的一本指南。
哪些PEP是必讀的?
如前所述,PEP提案已經(jīng)累積產(chǎn)生了478個(gè),我們并不需要對每個(gè)PEP都熟知,沒有必要。下面,我列舉了一些PEP,推薦大家一讀:
PEP 0 – Index of Python Enhancement Proposals
PEP 7 – Style Guide for C Code,C擴(kuò)展
PEP 8 – Style Guide for Python Code,編碼規(guī)范(必讀)
PEP 20 – The Zen of Python,Python之禪
PEP 202 – List Comprehensions,列表生成式
PEP 274 – Dict Comprehensions,字典生成式
PEP 234 – Iterators,迭代器
PEP 257 – Docstring Conventions,文檔注釋規(guī)范
PEP 279 – The enumerate() built-in function,enumerate枚舉
PEP 282 – A Logging System,日志模塊
PEP 285 – Adding a bool type,布爾值
PEP 289 – Generator Expressions,生成器表達(dá)式
PEP 318 – Decorators for Functions and Methods,裝飾器
PEP 342 – Coroutines via Enhanced Generators,協(xié)程
PEP 343 – The “with” Statement,with語句
PEP 380 – Syntax for Delegating to a Subgenerator,yield from語法
PEP 405 – Python Virtual Environments,虛擬環(huán)境
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,表達(dá)式內(nèi)賦值(最爭議)
PEP 3105 – Make print a function,print改為函數(shù)
PEP 3115 – Metaclasses in Python 3000,元類
PEP 3120 – Using UTF-8 as the default source encoding
PEP 3333 – Python Web Server Gateway Interface v1.0.1,Web開發(fā)
PEP 8000 – Python Language Governance Proposal Overview,GvR老爹推出決策層后,事關(guān)新決策方案
“Python中的PEP知識(shí)點(diǎn)有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!