1. 程式人生 > >python程式碼編寫規範

python程式碼編寫規範

最近兩年的工作都是和運維相關,有時運維人員也會寫一些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優勢
當然在編寫程式碼時你的某些編輯器如pycharm會幫助你檢測程式碼規範,只要認真遵循一般不會出什麼問題。我們編寫程式碼不僅是要實現某種功能,就儘管它是核心,但是你的程式碼在以後極有可能會交給別人去維護,所以你寫的程式碼應當儘可能地讓人看懂,避免給別人留坑。