代碼書寫規范
縮進
統一使用 4 個空格進行縮進,不要混合使用制表符和空格來縮進,也不要單獨使用制表符Tab。對于行連接的情況,可以垂直對齊換行的元素。
行寬
每行代碼盡量不超過 80 個字符,在特殊情況下可以略微超過 80 ,如長的導入模塊語句或注釋里的URL。
Python會將圓括號、中括號和花括號中的行隱式的連接起來,可以利用這個特點,在表達式外圍增加一對額外的圓括號,不要使用反斜杠連接行。
如果條件語句中條件過多,放在一行顯得超長,可以使用圓括號來實現隱式連接,如下
如果一個文本字符串放在一行顯得超長,可以使用圓括號來實現隱式行連接,如下:
引號
自然語言使用雙引號,機器標示使用單引號,因此 代碼里 多數應該使用 單引號。
- 自然語言使用雙引號
- 機器標識使用單引號
- 正則表達式使用雙引號
- 文檔字符串 (Docstring)使用三雙引號
空行
模塊中類定義與函數之間空兩行,類中各函數之間空一行,函數中可以使用空行分隔各邏輯代碼塊,使其更加清晰。
模塊導入
每個獨立模塊導入應該獨占一行,導入代碼應該放在文件頂部,置于模塊說明、文檔字符串之后,全局變量、常量之前,模塊導入建議順序建議參考以一下順序,每組之間使用一個空行分隔:
- 標準庫導入
- 第三方庫導入
- 自定義庫導入
同時,導入模塊應盡量使用絕對導入。
空格
在二元操作符兩邊都加上一個空格,如 =,==, <, >, !=, <>, <=, >=, in, not in, is, is no,and, or, not。額外注意的是,當'='用于指示關鍵字參數或默認參數值時, 不要在其兩側使用空格。
函數的參數列表中“,”之后要有空格,但左括號之后,右括號之前不要加多余的空格。
代碼注釋規范
塊注釋
“#”號后空一格,段落間需要用空行分開。
行注釋
行注釋至少使用兩個空格和語句分開。
文檔注釋——文檔字符串Docstring
作為文檔的Docstring一般出現在模塊、函數和類的頭部,Python中可以通過對象的__doc__屬性獲取文檔字符串。Python中模塊、類、函數、方法、生成器,應盡量寫文檔字符串。外部不可見的私有方法可以不寫,但應該在 def 后提供一個塊注釋說明。文檔注釋以 """ 開頭和結尾, 首行不換行, 如有多行, 末行必需換行。
對函數的注釋說明,建議參考如下注釋規范,如下所示:
代碼命名規范
模塊命名
模塊使用小寫字母命名,首字母保持小寫,盡量不要用下劃線。
類名命名
類名使用駝峰命名風格,首字母大寫。
函數命名
函數名全部采用小寫字母,如有多個單詞,用下劃線隔開。
變量命名
變量名盡量使用小寫字母,常量采用全大寫字母,如有多個單詞,用下劃線隔開。