91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

簡單了解python PEP的一些知識

發布時間:2020-08-24 17:57:55 來源:腳本之家 閱讀:235 作者:千鋒Python唐唐君 欄目:開發技術

前言

或許你是一個初入門Python的小白,完全不知道PEP是什么。又或許你是個學會了Python的熟手,見過幾個PEP,卻不知道這玩意背后是什么。那正好,本文將系統性地介紹一下PEP,與大家一起加深對PEP的了解。

目前,國內各類教程不可勝數,雖然或多或少會提及PEP,但籠統者多、局限于某個PEP者多,能夠詳細而全面地介紹PEP的文章并不多。

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

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),是數量最多的提案。。

每個PEP最初都是一個草案(Draft),隨后會經歷一個過程,因此也就出現了不同的狀態。以下是一個流程圖:

簡單了解python PEP的一些知識

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,編碼規范(必讀)

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,布爾值

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

PEP 3333 – Python Web Server Gateway Interface v1.0.1,Web開發

PEP 8000 – Python Language Governance Proposal Overview,GvR老爹推出決策層后,事關新決策方案

對PEP的貢獻

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

我也非常希望,國內的Python黑客們的名字,能越來越多地出現在那個列表里,出現在Python核心開發者的列表里。

此外,關于對PEP的貢獻,還有一種很有效的方式,就是將PEP翻譯成中文,造福國內的Python學習社區。經過一番搜索,我還沒有看到系統性翻譯PEP的項目,只找到了零星的對于某個PEP的翻譯。

表達一下我的私心,希望本文能給大家帶來知識和見識的增長,激發小伙伴們的學習熱情!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太仓市| 上栗县| 南宫市| 育儿| 平定县| 宜兰市| 湘潭县| 楚雄市| 墨竹工卡县| 临高县| 蓬溪县| 舒城县| 阜新| 田阳县| 土默特左旗| 炉霍县| 博白县| 临猗县| 米易县| 杂多县| 淮安市| 五指山市| 尚义县| 盘锦市| 津市市| 库车县| 体育| 凭祥市| 民乐县| 长治县| 无极县| 右玉县| 富蕴县| 资阳市| 会同县| 淅川县| 东至县| 桃园市| 电白县| 依兰县| 安康市|