一些應(yīng)該遵守的規(guī)則
遵循一定的規(guī)則能使代碼更加整潔辱魁、規(guī)范,提高可讀性。PEP 8 是針對 Python 代碼格式而編訂的風(fēng)格指南伞辛,下面列舉出一些重要的 PEP 8 的規(guī)則。
代碼格式
- 使用 space 表示縮進而不是 tab夯缺。
- 和語法相關(guān)的每一層縮進都用 4 個空格表示蚤氏。
- 每行字符數(shù)不應(yīng)超過 79。
- 占據(jù)多行的表達式踊兜,除首行外其余各行都應(yīng)在縮進級別上再加四個空格竿滨。
- 文件中的函數(shù)與類使用兩個空行隔開。
- 同一個類中,各方法間用一個空行隔開于游。
- 使用下標獲取列表元素毁葱、調(diào)用函數(shù)或給關(guān)鍵字復(fù)制的時候,不要在兩旁加空格贰剥。
- 變量賦值時倾剿,賦值符號左右各加一個空格即可。
命名
- 變量蚌成、函數(shù)及屬性使用小寫單詞下劃線相連前痘,如
my_car
。 - 受保護的實例屬性担忧,單下劃線開頭芹缔,如
_len_of_bmw
。 - 私有實例屬性瓶盛,雙下劃線開頭, 如
__color_of_bmw
最欠。 - 類與異常,大駝峰命名蓬网,如
CarFactory
窒所。 - 模塊級別常量,全大寫用下劃線相連, 如
TOTAL_PRICE
帆锋。 - 類中的實例方法吵取,首個參數(shù)應(yīng)為
self
,以表示該對象自身锯厢。 - 類方法的首個參數(shù)應(yīng)該為
cls
皮官, 以表示類自身。
表達式和語句
- 使用
if a is not b
而不是if not a is b
实辑, 不要把否定詞放在整個表達式前面捺氢。 - 不要通過
if len(somelist)==0
之類的語句來判斷列表是否為空,應(yīng)該使用if not somelist
和if somelist
剪撬。 - 不要編寫單行的
if
語句摄乒、for
和while
循環(huán)及except
復(fù)合句,應(yīng)該分成多行残黑,使得層級更加清晰馍佑。 -
import
語句應(yīng)該放在文件開頭 -
import
時不應(yīng)簡寫,應(yīng)該使用from package import module
而不是直接import module
梨水。 -
import
語句應(yīng)該分為三部分拭荤,分別表示標準模塊庫、第三方模塊及自用模塊