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 的風格。