溫馨提示×

溫馨提示×

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

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

python pep8有什么用

發(fā)布時間:2020-09-21 09:18:22 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

python pep8有什么用?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

PEP是Python Enhancement Proposal的縮寫,通常翻譯為“Python增強(qiáng)提案”。每個PEP都是一份為Python社區(qū)提供的指導(dǎo)Python往更好的方向發(fā)展的技術(shù)文檔,其中的第8號增強(qiáng)提案(PEP 8)是針對Python語言編訂的代碼風(fēng)格指南。盡管我們可以在保證語法沒有問題的前提下隨意書寫Python代碼,但是在實際開發(fā)中,采用一致的風(fēng)格書寫出可讀性強(qiáng)的代碼是每個專業(yè)的程序員應(yīng)該做到的事情,也是每個公司的編程規(guī)范中會提出的要求,這些在多人協(xié)作開發(fā)一個項目(團(tuán)隊開發(fā))的時候顯得尤為重要。我們可以從Python官方網(wǎng)站的PEP 8鏈接中找到該文檔,下面我們對該文檔的關(guān)鍵部分做一個簡單的總結(jié)。

空格的使用

1、使用空格來表示縮進(jìn)而不要用制表符(Tab)。這一點(diǎn)對習(xí)慣了其他編程語言的人來說簡直覺得不可理喻,因為絕大多數(shù)的程序員都會用Tab來表示縮進(jìn),但是要知道Python并沒有像C/C++或Java那樣的用花括號來構(gòu)造一個代碼塊的語法,在Python中分支和循環(huán)結(jié)構(gòu)都使用縮進(jìn)來表示哪些代碼屬于同一個級別,鑒于此Python代碼對縮進(jìn)以及縮進(jìn)寬度的依賴比其他很多語言都強(qiáng)得多。在不同的編輯器中,Tab的寬度可能是2、4或8個字符,甚至是其他更離譜的值,用Tab來表示縮進(jìn)對Python代碼來說可能是一場災(zāi)難。

2、和語法相關(guān)的每一層縮進(jìn)都用4個空格來表示。

3、每行的字符數(shù)不要超過79個字符,如果表達(dá)式因太長而占據(jù)了多行,除了首行之外的其余各行都應(yīng)該在正常的縮進(jìn)寬度上再加上4個空格。

4、函數(shù)和類的定義,代碼前后都要用兩個空行進(jìn)行分隔。

5、在同一個類中,各個方法之間應(yīng)該用一個空行進(jìn)行分隔。

6、二元運(yùn)算符的左右兩側(cè)應(yīng)該保留一個空格,而且只要一個空格就好。

標(biāo)識符命名

PEP 8倡導(dǎo)用不同的命名風(fēng)格來命名Python中不同的標(biāo)識符,以便在閱讀代碼時能夠通過標(biāo)識符的名稱來確定該標(biāo)識符在Python中扮演了怎樣的角色(在這一點(diǎn)上,Python自己的內(nèi)置模塊以及某些第三方模塊都做得并不是很好)。

1、變量、函數(shù)和屬性應(yīng)該使用小寫字母來拼寫,如果有多個單詞就使用下劃線進(jìn)行連接。

2、類中受保護(hù)的實例屬性,應(yīng)該以一個下劃線開頭。

3、類中私有的實例屬性,應(yīng)該以兩個下劃線開頭。

4、類和異常的命名,應(yīng)該每個單詞首字母大寫。

5、模塊級別的常量,應(yīng)該采用全大寫字母,如果有多個單詞就用下劃線進(jìn)行連接。

6、類的實例方法,應(yīng)該把第一個參數(shù)命名為self以表示對象自身。

7、類的類方法,應(yīng)該把第一個參數(shù)命名為cls以表示該類自身。

表達(dá)式和語句

在Python之禪(可以使用import this查看)中有這么一句名言:“There should be one-- and preferably only one --obvious way to do it.”,翻譯成中文是“做一件事應(yīng)該有而且最好只有一種確切的做法”,這句話傳達(dá)的思想在PEP 8中也是無處不在的。

1、采用內(nèi)聯(lián)形式的否定詞,而不要把否定詞放在整個表達(dá)式的前面。例如if a is not b就比if not a is b更容易讓人理解。

2、不要用檢查長度的方式來判斷字符串、列表等是否為None或者沒有元素,應(yīng)該用if not x這樣的寫法來檢查它。

3、就算if分支、for循環(huán)、except異常捕獲等中只有一行代碼,也不要將代碼和if、for、except等寫在一起,分開寫才會讓代碼更清晰。

4、import語句總是放在文件開頭的地方。

5、引入模塊的時候,from math import sqrt比import math更好。

6、如果有多個import語句,應(yīng)該將其分為三部分,從上到下分別是Python標(biāo)準(zhǔn)模塊、第三方模塊和自定義模塊,每個部分內(nèi)部應(yīng)該按照模塊名稱的字母表順序來排列。

關(guān)于python pep8有什么用問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI