書寫規範 PEP8

2021-09-19 13:22:09 字數 1956 閱讀 1248

參考:函式和方法引數

不要為了遵守pep約定而破壞相容性!

幾個很好的理由去忽略特定的規則:

當遵循這份指南之後**的可讀性變差,甚至是遵循pep規範的人也覺得可讀性差。

與周圍的**保持一致(也可能出於歷史原因),儘管這也是清理他人混亂(真正的xtreme programming風格)的乙個機會。

有問題的**出現在發現編碼規範之前,而且也沒有充足的理由去修改他們。

當**需要相容不支援編碼規範建議的老版本python。

每一級縮排使用4個空格

# 與左括號對齊

foo = long_function_name(var_one, var_two,

var_three, var_four)

# 推薦:運算子和運算元很容易進行匹配

income = (gross_wages

+ taxable_interest

+ (dividends - qualified_dividends)

- ira_deduction

- student_loan_interest)

推薦: import os

import sys

不推薦: import sys, os

匯入總是位於檔案的頂部,在模組注釋和文件字串之後,在模組的全域性變數與常量之前。 

匯入應該按照以下順序分組:

標準庫匯入

相關第三方庫匯入

本地應用/庫特定匯入 

你應該在每一組匯入之間加入空行。

如果乙個注釋是乙個短語或句子,它的第乙個單詞應該大寫,除非它是以小寫字母開頭的識別符號(永遠不要改變識別符號的大小寫!)。 

塊注釋的每一行開頭使用乙個#和乙個空格(除非塊注釋內部縮排文字)。 

行內注釋和**至少要有兩個空格分隔。注釋由#和乙個空格開始。

以下是常見的命名方式:

類名一般使用首字母大寫的約定。 

函式名應該小寫,如果想提高可讀性可以用下劃線分隔。 

大小寫混合僅在為了相容原來主要以大小寫混合風格的情況下使用(比如 threading.py),保持向後相容性。

如果你想捕獲所有指示程式出錯的異常,使用 except exception: (只有except:等價於 except baseexception:)。

以下兩種情況不應該只使用『excpet』塊:

如果異常處理的**會列印或者記錄log;至少讓使用者知道發生了乙個錯誤。

如果**需要做清理工作,使用 raise..try…finally 能很好處理這種情況並且能讓異常繼續上浮。

返回的語句保持一致。函式中的返回語句都應該返回乙個表示式,或者都不返回。如果乙個返回語句需要返回乙個表示式,那麼在沒有值可以返回的情況下,需要用 return none 顯式指明,並且在函式的最後顯式指定一條返回語句(如果能跑到那的話)。 

推薦:

def foo(x):

if x >= 0:

return math.sqrt(x)

else:

return none

def bar(x):

if x < 0:

return none

return math.sqrt(x)

不推薦:

def foo(x):

if x >= 0:

return math.sqrt(x)

def bar(x):

if x < 0:

return

return math.sqrt(x)

不要用 == 去和true或者false比較:

正確: if greeting:

糟糕: if greeting == true:

更糟: if greeting is true:

PEP8編碼規範

pep8 python 編碼規範 一 編排 1 縮排。4個空格的縮排 編輯器都可以完成此功能 不使用tap,更不能混合使用tap和空格。2 每行最大長度79,換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。3 類和top level函式定義之間空兩行 類中的方法定義之間空一行 函式...

PEP8編碼規範

一 編排 1 縮排。4個空格的縮排 編輯器都可以完成此功能 不使用tap,更不能混合使用tap和空格。2 每行最大長度79,換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。3 類和top level函式定義之間空兩行 類中的方法定義之間空一行 函式內邏輯無關段落之間空一行 其他地方...

PEP8規範總結

pep8 是什麼呢,簡單說就是一種編碼規範,是為了讓 更好看 更容易被閱讀。具體有這些規範,參考 pep 8 style guide for python code.當然也可以使用pycharm檢查或使用pylint.下面是規範總結 def foo first,second,third,fourth...