PEP8原文連接配接:https://legacy.python.org/dev/peps/pep-0008/
續更
介紹
代碼規範原則是提高代碼的可讀性,便于自己和他人去完善和修改代碼。
是以要考慮實際情況來選擇性使用代碼規範。
代碼排版
縮進
- 每行縮進四個空格(不能混用TAB)
- 一行最大為79個字元,文檔或注釋最多72個字元
-
空行
類和頂層函數之間有兩個空行
類中的方法之間有一個空行
函數中可以使用空行來隔開不同的邏輯鍛落
- 源檔案編碼在python2中使用ASCII格式,python3中使用UTF-8
- 導入要放在檔案的頂部
字元串引号
雖然python中單引号和雙引号都可用于字元串,但是最好使用一種方式,不要變來變去。
關于空格
盡量避免沒必要的空格
- 緊跟各種括号之後的空格
- 緊跟着逗号,分号,冒号之前的空格
- 切片中,前後空格數量保持一緻
ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]
ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]
ham[lower + offset : upper + offset]
- 緊跟函數參數的左括号之前
- 緊跟索引或切片左括号之前
- 指派運算中的多個附加括号
x = 1
long_variable = 3
x = 1
long_variable = 3
注釋
- 注釋最好用英語,便于其他人閱讀。
- 注釋在# 之後空一格開始書寫。
- 注釋最好是完整的句子,以句号結尾。
- 少用行内注釋,除非必要。
命名
- 整體代碼中保持一緻的命名風格。
- 不要使用 “l”(小寫L), “I”(大寫I),“O”(大寫O)等做打個變量名,和0,1完全區分不了。
- 類名首字母大寫;函數名小寫,可用下劃線隔開。
- 廠裡用大寫字母加下劃線。
其他
- 對于布爾型的比較判斷,使用“is”效率高于“==”。(python中None是固定記憶體id)
- 字元串拼接時,.join()優于 +
- 字元串比較使用“equals()”,值比較使用“==”。