python代碼編寫規范


最近兩年的工作都是和運維相關,有時運維人員也會寫一些python程序,但基本上都沒有遵循相應的代碼規范,一向粗暴,能用就行,既不考慮可讀性也不考慮可維護性,作為一個開發人員有時候看他們寫代碼就很不舒服,今天就談談python寫代碼時的一些規范。

python的代碼編寫基本上都要遵循PEP8的風格。
https://blog.csdn.net/ratsniper/article/details/78954852

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會幫助你檢測代碼規范,只要認真遵循一般不會出什么問題。我們編寫代碼不僅是要實現某種功能,就盡管它是核心,但是你的代碼在以后極有可能會交給別人去維護,所以你寫的代碼應當盡可能地讓人看懂,避免給別人留坑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM