【Effective Python】2-Pythonic-遵循 PEP 8 風格指南

2-Pythonic-遵循 PEP 8 風格指南

PEP 8 的意義

《Python Enhancement Proposal 8》又叫 PEP 8,它是針對 Python 代碼格式而編制的風格指南。
鏈接:https://www.python.org/dev/peps/pep-0008/

  • 主要作用:
    • 有利於編寫更加通俗易懂的代碼。
    • 有利於多人協作,有利於修改。

幾條重要的規則

命名

  • 函數、變量以及屬性應該用小寫字母來拼寫。
def sum_a_+_b(int a, int b):
    ...
  • 與異常,應該以每個單詞首字母大寫的形式來命名。
class SmallCar():
    ...
#
CapitalizedWord
  • 模塊級別的常量,應該全部採用大寫字母來拼寫,各單詞下劃線連接。
ALL_CAPS
  • 受保護的實例屬性,應該以單個下劃線開頭。
_leading_underscore
  • 私有的實例屬性,應該以兩個下劃線開頭。
__double_leading_underscore

空白

  • 在變量賦值的時候,賦值符號的左側和右側應該各自寫上一個空格。
  • 文件中的函數之間應該用兩個空格隔開。
  • 同一個類中各方法之間應該用一個空格隔開。
  • 對於佔據多行的長表達式來說,除了首行之外的其餘各行都應該在通常的縮進級別之上再加4個空格。

表達式和語句

  • 不要用 if len(a) == 0 來判斷 a 列表是否爲空值。
if not a: # 判斷 a 是空
    ...
if a: # 判斷 a 不空
    ...
  • 採用內聯形式的否定詞,而不是把否定詞放到整個表達式前面。
if a is not b: # 推薦
if not a is b: # 不推薦
  • 不要編寫單行的 if 語句、for 循環、while 循環及 except 複合語句。

  • import

    • import 語句總是放在文件開頭。
    • import 語句根據順序分爲三個部分:
      • 標準庫模塊
      • 第三方模塊
      • 自用模塊
    • 在每一模塊中,按照字母順序排列。

Pylint 流行的 Python 源碼靜態分析工具。
它可以自動檢測受測代碼是否符合 PEP 8 的風格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章