python程式碼編寫規範
阿新 • • 發佈:2019-01-25
最近兩年的工作都是和運維相關,有時運維人員也會寫一些python程式,但基本上都沒有遵循相應的程式碼規範,一向粗暴,能用就行,既不考慮可讀性也不考慮可維護性,作為一個開發人員有時候看他們寫程式碼就很不舒服,今天就談談python寫程式碼時的一些規範。
python的程式碼編寫基本上都要遵循PEP8的風格。
1.命名
- 函式、變數及屬性都應該用小寫單詞拼寫,只見用_連線,不遵循駝峰命名法
- 類與異常應該首字母大寫,不要用_連線
- 受保護的例項屬性,應以單下劃線開頭
- 例項的私有屬性,應以上下劃線開頭
- 模組級別的變數單詞都要大寫,中間以單下劃線隔開
- 變數要儘可能有意義
2.空白
- 和語法相關的每一層縮排都用4個空格表示
- 賦值時等號兩邊都要有一個空格
- 每一行所佔用的字元數應不超過79,實際操作中應當儘量不讓程式碼編輯器的行滾動條顯示出來
- 在使用函式進行函數語言程式設計時,函式之間要空兩行
- 在類中的函式,函式之間應該空一行
- 函式與類是同一個級別,則他們之間應該空兩行
- 對於超出每行規定的字元數的長表示式,應當敲回車縮排,通常除了首行其餘各行都要在原來的基礎上再次縮排4個空格
3.語句
- 判斷變數是否為None、False或True時不要用==,要用is,例如,if a is None
- import語句應放在句首,匯入時要儘量使用絕對匯入不要使用相對匯入,並且匯入時最好指定相應的模組的某一具體功能,例如,from datetime import datetime
- 模組匯入時應根據標準庫模組、第三方模組以及自用模組進行分類
- 檢測容器不為空時,應使用if 容器名,例如,lists = [] if lists
- 採用內聯形式的否定詞,不要把否定詞放在整個表示式的前面,例如,應該if a is not None 而不是 if not a is None
4.註釋
- 對某些重要的程式碼塊的功能說明,應使用單行註釋
- 對整個模組功能的說明應使用多行註釋
- 對類或函式的功能及使用方法的詳細說明應使用文件字串
- python的註釋儘量使用英文
5.併發
- I/O密集型,像web應用這樣的場景應該使用多執行緒程式設計
- 計算密集型,像計算圓周率等場景應該使用多程序程式設計,儘可能利用多核CPU優勢