1. 程式人生 > >Effective Python 讀書筆記——第 2 條

Effective Python 讀書筆記——第 2 條

Effective Python 讀書筆記——第 2 條

轉載請註明出處:https://blog.csdn.net/jpch89/article/details/84311771


第 2 條:遵循 PEP8 風格指南

8Python 增強提案,又叫 PEP 8
Python Enhancement Proposal #8
http://www.python.org/dev/peps/pep-0008

空白 whitespace 會影響程式碼的含義。

  • 使用四個空格 space 縮排,不要用製表符 tab
  • 每行字元數小於等於 79
  • 對於佔據多行的表示式,首行之後的其餘各行都要再縮排 4
    個空格
  • 檔案中的函式與類之間要用兩個空行隔開
  • 同一個類中,各方法用一個空行隔開
  • 使用下標來獲取列表元素、呼叫函式或者給關鍵字引數賦值時,不要在兩旁新增空格
  • 變數賦值的時候等號兩邊要各有一個空格

命名:不同的命名風格體現不同角色。

  • 函式、變數、屬性用小寫字母,以下劃線連線
  • 受保護的例項屬性,以單下劃線開頭
  • 私有的例項屬性,以雙下劃線開頭
  • 類與異常,大駝峰式命名
  • 模組級別的常量,全用大寫字母,以下劃線連線
  • 類中的例項方法 instance method,首個引數應該叫做 self,以表示該物件本身
  • 類方法 class method
    ,首個引數應該叫做 cls,以表示該類本身

表示式和語句

  • 不要把否定詞放在前面,要寫 if a is not b 而不是 if not a is b
  • 不要用長度檢測來判定為空if len(somelist) == 0),而是用 if not somelist(空值為 False
  • 判定非空if somelist
  • 不要寫單行的複合的 ifforwhileexcept 語句,要拆開來寫
  • import 總是放在檔案開頭
  • 匯入模組的時候,使用完整的絕對名稱,而不應該根據當前模組的路徑來使用相對名稱。例如,匯入 bar 包中的 foo 模組,應該寫 from bar import foo
    ,而不是 import foo
  • 如果一定要用相對名稱,就採用明確的寫法 from . import foo

舉個例子:對於 Python 3,在包內匯入時,假如 a.py 匯入 b.py寫成 import b,那麼在包外 import package.a 或者 from package import a 時一定會報錯。此時就要用 from package import b 或者 from . import b 才行。

  • import 按順序劃分為標準庫模組第三方模組以及自用模組。在每一部分,各 import 語句按字母順序排列。

Pylint http://www.pylint.org/
原始碼檢測工具