第2條 遵循PEP8風格指南

2022-03-14 01:44:33 字數 2304 閱讀 8914

《python enhancement proposal #8》(8號python增強提案)又叫pep8,它是針對python**格式而編訂的風格指南。

儘管可以在保證語法正確的前提下隨意編寫python**,但是,採用一致的風格來書寫可以讓**更加易懂、更加易讀。

採用和其他python程式設計師相同的風格來寫**,可以使專案更利於多人協作。

即便**只會由你自己閱讀,遵循這套風格也依然可以令後續的修改變得容易一些。

pep8列出了許多細節,以描述如何撰寫清晰的python**。它會隨著python語言持續更新。下面列出幾條應該絕對遵守的規則:

1.空白:python中的空白(whitespace)會影響**的含義。python程式設計師使用空白的時候尤其在意,因為它們會影響****的清晰程度。

(1)使用space(空格)來表示縮排,而不要用tab(製表符)。

為什麼不建議用tab鍵,因為tab鍵和space鍵不能混用,這樣格式檢測時會直接報語法錯誤。

(2)和語法相關的每一層縮排都用4個空格來表示。

(3)每行的字元數不應超過79

(4)對於佔據多行的長表示式來說,除了首行之外的其餘各行都應該在通常的縮排級別之上再加上4個空格。

(5)檔案中的函式與類之間應該用兩個空行隔開

(6)在同乙個類中,各方法之間應該用乙個空行隔開

(7)在使用下標來獲取列表元素、呼叫函式或給關鍵字引數賦值的時候,不要在兩旁新增空格。

(8)為變數賦值的時候,賦值符號的左側和右側應該各自寫上乙個空格,而且只寫乙個就好。

2.命名:pep8提倡採用不同的命名風格來編寫python**中的各個部分,以便在閱讀**時可以根據這些名稱看出它們在python語言中的角色。

(1)函式、變數及屬性應該用小寫字母來拼寫,各單詞之間以下劃線相連,例如,lowercase_underscore。

(2)受保護的例項屬性,應該以單個下劃線開頭,例如,_leading_underscore。

(3)私有的例項屬性,應該以兩個下劃線開頭,例如,__double_leading_underscore。

(4)類與異常,應該以每個單詞首字母均大寫的形式來命名,例如,capitailzedword。

(5)模組級別的常量,應該全部採用大寫字母來拼寫,各單詞之間以下劃線相連,例如,all_caps

(6)類中的例項方法(instance method),應該把首個引數命名為self,以表示該物件自身。

(7)類方法(class method)的首個引數,應該命名為cls,以表示該類自身。

3.表示式和語句:《the zen of python》(python之禪)中說:每件事都應該有直白的做法,而且最好只有一種。pep8在制定表示式和語句的風格時,就試著體現了這種思想。

(1)採用內聯形式的否定詞,而不要把否定詞放在整個表示式的前面,例如,應該寫if a is not b而不是if not a is b。

(2)不要通過檢測長度的方法(例如if len(somelist) == 0)來判斷somelist是否為或等空值,

而是應該採用if not somelist這種寫法來判斷,它會假定:空值將自動評估為false。

(3)檢測somelist是否為或『hi』等非空值,也應如此,if somelist語句會預設把非空值判斷為true。

(4)不要編寫單行的if語句、for迴圈、while迴圈及expect復合語句,而是應該把這些語句分成多行來書寫,以示清晰。

(5)import語句應該總是放在檔案開頭。

(6)引入模組的時候,總是應該使用絕對名稱,而不應該根據當前模組的路徑來使用相對名稱。

例如,引入bar包中的foo模組時,應該完整的寫出from bar import foo,而不是應該簡寫為import foo。

(7)如果一定要以相對名稱來編寫import語句,那就採用明確的寫法:from.import foo。

(8)檔案中的那些import語句應該按順序劃分成三部分,分別表示標準庫模組、第三方模組以及自用模組。

在每一部分中,各import語句應該按模組的字母順序來排列。

拓展:pylint(是一款流行的python原始碼靜態分析工具。它可以自動檢查受測**是否符合pep8風格指南,而且還能找出python程式裡的多種常見錯誤。

後面一章會介紹這個軟體的使用。

PEP8風格指南

使用空格來表示縮排,而不要用tab 和語法相關的每一層縮排都用 4 個空格來表示 每行的字元數不應超過 79 對於佔據多行的長表示式來說,除了首行之外的其餘各行都應該在通常的縮排級別之上再加4個空格 檔案中的函式與類之間應該用兩個空行隔開 在同乙個類中,各方法之間應該用乙個空行隔開 在使用下標來獲取...

PEP 8 編碼風格

現在你將要寫更長,更複雜的 python 是時候討論一下 風格 了。大多數語言都能以不同的風格被編寫 或更準確地說,被格式化 有些比其他的更具有可讀性。能讓其他人輕鬆閱讀你的 總是乙個好主意,採用一種好的編碼風格對此有很大幫助。對於python,pep 8 已經成為大多數專案所遵循的風格指南 它促進...

Python專講 PEP 8風格指南

pep 8風格指南 pep是python enhancement proposal的縮寫,通常翻譯為 python增強提案 每個pep都是乙份為python社群提供的指導python往更好的方向發展的技術文件,其中的第8號增強提案 pep 8 是針對python語言編訂的 風格指南。儘管我們可以在保...