python——PEP8風格代碼規範指南

空白

python中的空白(whitespace)會影響代碼含義。程序員在使用空白的時候需要注意,因爲會影響到代碼的清晰程度。

  • 使用space(空格)來表示縮進,而不要用tab(製表符)。
  • 和語法相關的每一層縮進都用4個空格來表示。
  • 每行的字符數不應超過79
  • 對於佔據多行的長表達式來說,除了首行之外的其餘各行都應該在通常的縮進級別之上再加4個空格。
  • 文件中的函數與類之間應該用兩個空行隔開。
  • 在同一個類中,各方法之間應該用一個空行隔開。
  • 在使用下標來獲取列表元素、調用函數或給關鍵字參數賦值的時候,不要再兩旁添加空格。
  • 爲變量賦值的時候,賦值符號的左側和右側應該各自協商一個空格,而且只寫一個就好。

命名

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

  • 函數、變量及屬性應該用小寫字母來拼寫,各單詞之間用下劃線相連,例如,lowercase_underscore。
  • 受保護的實例屬性,應該以單個下劃線開頭,例如,_leading_underscrore。
  • 私有的實例屬性,應該以兩個下劃線開頭,例如,__double_leading_underscore。
  • 類與異常,應該以每個單詞首字母大寫的形式來命名,例如,CapitalizedWord。
  • 模塊級別的常量,應該全部採用大寫字母來拼寫,各單詞之間以下劃線相連,例如,ALL_CAPS。
  • 類中的實例方法(instance method),應該把首個參數命名爲self,以表示該對象自身。
  • 類方法(class method)的首個參數,應該命名爲cls,以表示該類自身。

表達式和語句

《The Zen of Python》中說:“每件事都應該有直白的做法,而且最好只有一種。”

  • 採用內聯式的否定詞,而不要把否定詞放在整個表達式的前面,例如,應該寫if a is not b 而不是 if not a is b。
  • 不要通過檢測長度的辦法(如if len(somelist) == 0)來判斷 somelist 是否爲[]或’'等空值,而是應該採用 if not somelist 這種寫法來判斷,它會假定:空值將自動評估爲 False。
  • 檢測 somelist 是否爲[1]或’h1’等非空值時,也應如此,if somelist 語句默認會把非空的值判斷爲 True。
  • 不要編寫單行的 if 語句、for 循環、while 循環及 except 複合語句,而是應該把這些語句分成多行來書寫,以示清晰。
  • import 語句應該總是放在開頭。
  • 引入模塊的時候,總是應該使用絕對名稱,而不應該根據當前模塊的路徑來使用相對名稱。例如,引入 bar 包中的 foo 模塊時,應該完整地寫出 from bar import foo,而不應該簡寫爲 import foo。
  • 如果一定要以相對名稱來編寫 import 語句,那就採用明確的寫法:from.import foo。
  • 文件中的那些 import 語句應該按順序分成三個部分,分別表示標準庫模塊、第三方模塊以及自用模塊。在每一部分之中,各 import 語句應該按模塊的字母順序來排列。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章