成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

學(xué)習(xí)Python,怎能不懂點(diǎn)PEP呢?

Magicer / 2712人閱讀

摘要:或許你是一個(gè)初入門(mén)的小白,完全不知道是什么。到目前為止,它擁有個(gè)兄弟姐妹。此外,關(guān)于對(duì)的貢獻(xiàn),還有一種很有效的方式,就是將翻譯成中文,造福國(guó)內(nèi)的學(xué)習(xí)社區(qū)。

或許你是一個(gè)初入門(mén)Python的小白,完全不知道PEP是什么。又或許你是個(gè)學(xué)會(huì)了Python的熟手,見(jiàn)過(guò)幾個(gè)PEP,卻不知道這玩意背后是什么。那正好,本文將系統(tǒng)性地介紹一下PEP,與大家一起加深對(duì)PEP的了解。

目前,國(guó)內(nèi)各類(lèi)教程不可勝數(shù),雖然或多或少會(huì)提及PEP,但籠統(tǒng)者多、局限于某個(gè)PEP者多,能夠詳細(xì)而全面地介紹PEP的文章并不多。

本文的目的是:盡量全面地介紹PEP是什么,告訴大家為什么要去閱讀PEP,以及列舉了一些我認(rèn)為是必讀的PEP,最后,則是搜羅了幾篇PEP的中文翻譯,希望能為Python學(xué)習(xí)資料的漢化,做點(diǎn)拋磚引玉的貢獻(xiàn)。

PEP是什么?

PEP的全稱(chēng)是Python Enhancement Proposals,其中Enhancement是增強(qiáng)改進(jìn)的意思,Proposals則可譯為提案或建議書(shū),所以合起來(lái),比較常見(jiàn)的翻譯是Python增強(qiáng)提案Python改進(jìn)建議書(shū)

我個(gè)人傾向于前一個(gè)翻譯,因?yàn)樗N切。Python核心開(kāi)發(fā)者主要通過(guò)郵件列表討論問(wèn)題、提議、計(jì)劃等,PEP通常是匯總了多方信息,經(jīng)過(guò)了部分核心開(kāi)發(fā)者review和認(rèn)可,最終形成的正式文檔,起到了對(duì)外公示的作用,所以我認(rèn)為翻譯成“提案”更恰當(dāng)。

PEP的官網(wǎng)是:https://www.python.org/dev/peps/,這也就是PEP 0 的地址。其它PEP的地址是將編號(hào)拼接在后面,例如:https://www.python.org/dev/pe... 就是PEP 20 的鏈接,以此類(lèi)推。

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

官方將PEP分成三類(lèi):

I - Informational PEP

P - Process PEP

S - Standards Track PEP

其含義如下:

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

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

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

每個(gè)PEP最初都是一個(gè)草案(Draft),隨后會(huì)經(jīng)歷一個(gè)過(guò)程,因此也就出現(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)、按類(lèi)型以及按狀態(tài)進(jìn)行檢索。而在PEP 1(PEP Purpose and Guidelines)里,官方詳細(xì)說(shuō)明了PEP的意圖、如何提交PEP、如何修復(fù)和更新PEP、以及PEP評(píng)審的機(jī)制等等。

為什么要讀PEP?

無(wú)論你是剛?cè)腴T(mén)Python的小白、有一定經(jīng)驗(yàn)的從業(yè)人員,還是資深的黑客,都應(yīng)該閱讀Python增強(qiáng)提案。

依我之見(jiàn),閱讀PEP至少有如下好處:

(1)了解Python有哪些特性,它們與其它語(yǔ)言特性的差異,為什么要設(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)力量。

說(shuō)到底,學(xué)會(huì)用Python編程,只是掌握了皮毛。PEP提案是深入了解Python的途徑,是真正掌握Python語(yǔ)言的一把鑰匙,也是得心應(yīng)手使用Python的一本指南。

哪些PEP是必讀的?

如前所述,PEP提案已經(jīng)累積產(chǎn)生了478個(gè),我們并不需要對(duì)每個(gè)PEP都熟知,沒(méi)有必要。下面,我列舉了一些PEP,推薦大家一讀:

PEP 0 -- Index of Python Enhancement Proposals
PEP 7 -- Style Guide for C Code,C擴(kuò)展
PEP 8 -- Style Guide for Python Code,Python編碼規(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,布爾值(建議閱讀《Python對(duì)象的身份迷思:從全體公民到萬(wàn)物皆數(shù)》)
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語(yǔ)句
PEP 380 -- Syntax for Delegating to a Subgenerator,yield from語(yǔ)法
PEP 405 -- Python Virtual Environments,虛擬環(huán)境
PEP 471 -- os.scandir() function,遍歷目錄
PEP 484 -- Type Hints,類(lèi)型約束
PEP 492 -- Coroutines with async and await syntax,async/await語(yǔ)法
PEP 498 -- Literal String Interpolation Python,字面字符串插值
PEP 525 -- Asynchronous Generators,異步生成器
PEP 572 -- Assignment Expressions,表達(dá)式內(nèi)賦值(最具爭(zhēng)議)
PEP 3105 -- Make print a function,print改為函數(shù)
PEP 3115 -- Metaclasses in Python 3000,元類(lèi)
PEP 3120 -- Using UTF-8 as the default source encoding,默認(rèn)UTF-8
PEP 3333 -- Python Web Server Gateway Interface v1.0.1,Web開(kāi)發(fā)
PEP 8000 -- Python Language Governance Proposal Overview,GvR老爹推出決策層后,事關(guān)新決策方案

關(guān)于PEP,知乎上有兩個(gè)問(wèn)題,推薦大家關(guān)注:哪些PEP值得閱讀(https://dwz.cn/7CHMBlLu),如何看待PEP 572(https://dwz.cn/L46jpzMB)。

對(duì)PEP的貢獻(xiàn)

雖無(wú)確切數(shù)據(jù)作證,我國(guó)Python開(kāi)發(fā)者的數(shù)量應(yīng)該比任何國(guó)家都多。然而,縱觀PEP 0 里面列舉的200多個(gè)PEP作者,我只看到了一個(gè)像是漢語(yǔ)拼音的國(guó)人名字(不排除看漏,或者使用了英文名的)。反差真是太大了。

我特別希望,國(guó)內(nèi)的Python黑客們的名字,能越來(lái)越多地出現(xiàn)在那個(gè)列表里,出現(xiàn)在Python核心開(kāi)發(fā)者的列表里。

此外,關(guān)于對(duì)PEP的貢獻(xiàn),還有一種很有效的方式,就是將PEP翻譯成中文,造福國(guó)內(nèi)的Python學(xué)習(xí)社區(qū)。經(jīng)過(guò)一番搜索,我還沒(méi)有看到系統(tǒng)性翻譯PEP的項(xiàng)目,只找到了零星的對(duì)于某個(gè)PEP的翻譯。

我用心搜集了幾篇中文翻譯成果,分享給大家:

PEP8 https://dwz.cn/W01HexFD
PEP257 https://dwz.cn/JLctlNLC
PEP328 https://dwz.cn/4vCQJpEP
PEP333 https://dwz.cn/TAXIZdzc
PEP484 https://dwz.cn/dSLZgg5B
PEP492 http://t.cn/EALeaL0
PEP541 https://dwz.cn/ce98vc27
PEP3107 http://suo.im/4xFESR
PEP3333 https://dwz.cn/si3xylgw

最后,表達(dá)一下我的私心:

(1)希望本文能給大家?guī)?lái)知識(shí)和見(jiàn)識(shí)的增長(zhǎng),激發(fā)一些小伙伴的學(xué)習(xí)熱情

(2)希望有小伙伴去翻譯更多的PEP,造福Python的中文學(xué)習(xí)社區(qū)

-----------------

本文原創(chuàng)并首發(fā)于微信公眾號(hào)【Python貓】,后臺(tái)回復(fù)“愛(ài)學(xué)習(xí)”,免費(fèi)獲得20+本精選電子書(shū)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44945.html

相關(guān)文章

  • 聊聊 print 的前世今生

    摘要:反對(duì)的意見(jiàn)主要是這樣可能會(huì)破壞掉無(wú)數(shù)個(gè)腳本,而且中已經(jīng)有太多的魔法了。除此之外,的命名本身也算是一種包袱。首字母大寫(xiě)的,譯作史努比,則是一只被很多人喜愛(ài)的漫畫(huà)小狗。 showImg(https://segmentfault.com/img/remote/1460000019559250); 本文原創(chuàng)并首發(fā)于公眾號(hào)【Python貓】,未經(jīng)授權(quán),請(qǐng)勿轉(zhuǎn)載。 原文地址:https://mp....

    stackvoid 評(píng)論0 收藏0
  • 四個(gè)月技術(shù)寫(xiě)作,我寫(xiě)了些什么?

    摘要:因?yàn)榍宄匾庾R(shí)到自己的基礎(chǔ)并不扎實(shí),所以,幾個(gè)月以來(lái),我花了不少時(shí)間系統(tǒng)性地學(xué)習(xí)了一些內(nèi)容。時(shí)間過(guò)得真快,現(xiàn)在能拿得出手的也就僅僅是字符串系列切片系列和迭代器系列了。關(guān)于技術(shù)寫(xiě)作和翻譯,我初見(jiàn)門(mén)道,今后還會(huì)多作總結(jié)分享。 showImg(https://segmentfault.com/img/bVbn6bh?w=4167&h=2569); 從去年國(guó)慶節(jié)開(kāi)始,我連續(xù)更新了 4 個(gè)月公眾...

    bingchen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Magicer

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<