最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單了解python PEP的一些知識

 更新時間:2019年07月13日 09:29:45   作者:千鋒Python唐唐君  
這篇文章主要介紹了簡單了解python PEP的一些知識,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前言

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

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

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

PEP是什么?

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

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

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

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

官方將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,即宣告不會有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的新功能和新實踐(implementation),是數(shù)量最多的提案。。

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

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,你可以按序號、按類型以及按狀態(tài)進(jìn)行檢索。而在PEP 1(PEP Purpose and Guidelines)里,官方詳細(xì)說明了PEP的意圖、如何提交PEP、如何修復(fù)和更新PEP、以及PEP評審的機制等等。

為什么要讀PEP?

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

依我之見,閱讀PEP至少有如下好處:

(1)了解Python有哪些特性,它們與其它語言特性的差異,為什么要設(shè)計這些特性,是怎么設(shè)計的,怎樣更好地運用它們;

(2)跟進(jìn)社區(qū)動態(tài),獲知業(yè)內(nèi)的最佳實踐方案,調(diào)整學(xué)習(xí)方向,改進(jìn)工作業(yè)務(wù)的內(nèi)容;

(3)參與熱點議題討論,或者提交新的PEP,為Python社區(qū)貢獻(xiàn)力量。

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

哪些PEP是必讀的?

如前所述,PEP提案已經(jīng)累積產(chǎn)生了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,編碼規(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)新決策方案

對PEP的貢獻(xiàn)

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

我也非常希望,國內(nèi)的Python黑客們的名字,能越來越多地出現(xiàn)在那個列表里,出現(xiàn)在Python核心開發(fā)者的列表里。

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

表達(dá)一下我的私心,希望本文能給大家?guī)碇R和見識的增長,激發(fā)小伙伴們的學(xué)習(xí)熱情!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文帶你搞懂Python中的pyc文件

    一文帶你搞懂Python中的pyc文件

    Python是一門解釋性語言,沒有嚴(yán)格意義上的編譯和匯編過程。Pyc文件是py編譯過程中產(chǎn)生的字節(jié)碼文件,可以由虛擬機直接執(zhí)行,是python將目標(biāo)源碼編譯成字節(jié)碼以后在磁盤上的文件形式。本文就來聊聊pyc文件的寫入等只是,感興趣的可以了解一下
    2022-12-12
  • 從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實例(一)

    從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實例(一)

    本文目的:用一個實例總結(jié)學(xué)習(xí)到的with語句,函數(shù),列表推導(dǎo),集合,排序,字符分割等內(nèi)容
    2014-05-05
  • 在Pycharm中設(shè)置默認(rèn)自動換行的方法

    在Pycharm中設(shè)置默認(rèn)自動換行的方法

    今天小編就為大家分享一篇在Pycharm中設(shè)置默認(rèn)自動換行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python Django 數(shù)據(jù)庫的相關(guān)操作詳解

    Python Django 數(shù)據(jù)庫的相關(guān)操作詳解

    下面小編就為大家?guī)硪黄猟jango數(shù)據(jù)庫的相關(guān)操作,小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • 詳解Python描述符的工作原理

    詳解Python描述符的工作原理

    在 Python 開發(fā)中,你可能聽說過「描述符」這個概念,由于我們很少直接使用它,所以大部分開發(fā)人員并不了解它的原理. 但作為熟練使用 Python,想要進(jìn)階的你,建議還是了解一下描述符的原理,這也便于你更深層次地理解 Python 的設(shè)計思想,需要的朋友可以參考下
    2021-06-06
  • 一文帶你精通Python中*args和**kwargs的應(yīng)用技巧

    一文帶你精通Python中*args和**kwargs的應(yīng)用技巧

    如果能在Python中創(chuàng)建適應(yīng)不同場景的函數(shù),而無需每次都重寫它們,會使得操作簡潔方便,這就是*args和**kwargs的魔力所在,下面我們就來看看它們的具體一些應(yīng)用技巧吧
    2024-03-03
  • Python中的time和datetime模塊使用方法詳解

    Python中的time和datetime模塊使用方法詳解

    Python 中的 time 和 datetime 模塊是處理時間和日期的重要工具,它們可以執(zhí)行各種操作,如獲取當(dāng)前時間、格式化日期、計算時間差等,本文將分享這兩個模塊的使用方法,包括安裝、基本功能、日期時間對象、時間戳、時間間隔、日期時間格式化和示例代碼
    2023-11-11
  • 使用pandas實現(xiàn)篩選出指定列值所對應(yīng)的行

    使用pandas實現(xiàn)篩選出指定列值所對應(yīng)的行

    這篇文章主要介紹了使用pandas實現(xiàn)篩選出指定列值所對應(yīng)的行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python斷點測試的實現(xiàn)

    python斷點測試的實現(xiàn)

    本文主要介紹了python斷點測試的實現(xiàn),包括使用print語句、使用Python內(nèi)置的pdb模塊以及使用集成開發(fā)環(huán)境的三種方法,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Python3基礎(chǔ)之輸入和輸出實例分析

    Python3基礎(chǔ)之輸入和輸出實例分析

    這篇文章主要介紹了Python3基礎(chǔ)之輸入和輸出實例分析,很重要的知識點,需要的朋友可以參考下
    2014-08-08

最新評論

万源市| 鄂托克旗| 新乐市| 平阴县| 禄劝| 屯留县| 临澧县| 东平县| 同仁县| 青阳县| 洪泽县| 汝南县| 琼海市| 定日县| 伊吾县| 巩留县| 石景山区| 克山县| 东辽县| 太湖县| 栾城县| 兴义市| 仁布县| 郓城县| 招远市| 石柱| 嘉义县| 西平县| 周口市| 泽州县| 元阳县| 铅山县| 白河县| 钦州市| 库尔勒市| 西乌| 琼结县| 钟祥市| 彭山县| 涪陵区| 崇文区|