pep8規範 官方文件:
pep8中文翻譯:
4個空格的縮排(編輯器都可以完成此功能),不使用tap,更不能混合使用tap和空格。
換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。
1 模組內容的順序:模組說明和docstring—import—globals&constants—其他定義。其中import部分,又按標準、三方和自己編寫順序依次排放,之間空一行。
2 不要在一句import中多個庫,比如import os, sys不推薦。
3 如果採用from xx import xx引用庫,可以省略『module.』,都是可能出現命名衝突,這時就要採用import xx。
from1 各種右括號前不要加空格。2 逗號、冒號、分號前不要加空格。myclass import myclass
from
foo.bar.yourclass import yourclass
# 如果和本地名字有衝突:
import myclass
import foo.bar.yourclass
3 函式的左括號前不要加空格。如func( 1)。
4 序列的左括號前不要加空格。如list[2]。
5 操作符左右各加乙個空格,不要為了對齊增加空格。
6 函式預設引數使用的賦值符左右省略空格。
7 不要將多句語句寫在同一行,儘管使用『;』允許。
8 if/for/while語句中,即使執行語句只有一句,也必須另起一行。
# 正確寫法1 編碼中考慮到其他python實現的效率等問題,比如運算子『+』在cpython(python)中效率很高,都是jython中卻非常低,所以應該採用.join()的方式。x = x + 1 # compensate for
border
# 錯誤寫法
x = x + 1 # do nothing
2 盡可能使用『is』『is not』取代『==』,比如if x is not none 要優於if x。
3 使用基於類的異常,每個模組或包都有自己的異常類,此異常類繼承自exception。
4 異常中不要使用裸露的except,except後跟具體的exceptions。
5 異常中try的**盡可能少。比如:
try6 使用startswith() and endswith()代替切片進行序列字首或字尾的檢查。比如:: value =collection[key]
except
keyerror:
return
key_not_found(key)
else
:
return
handle_value(value)
要優於try
:
return
handle_value(collection[key])
except
keyerror:
#will also catch keyerror raised by handle_value()
return key_not_found(key)
yes: if foo.startswith('bar'):優於7 使用isinstance()比較物件的型別。比如no: if foo[:3] == 'bar':
yes: if isinstance(obj, int): 優於8 判斷序列空或不空,有如下規則no: if type(obj) is type(1):
yes: if not seq:優於if seq:
no: if len(seq)9 . 字串不要以空格收尾。if not len(seq)
10 . 二進位制資料判斷使用 if boolvalue的方式。
python 常用PEP8規範
一 編排 1 縮排。4個空格的縮排 編輯器都可以完成此功能 不使用tap,更不能混合使用tap和空格。2 每行最大長度79,換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。3 類和top level函式定義之間空兩行 類中的方法定義之間空一行 函式內邏輯無關段落之間空一行 其他地方...
PEP8編碼規範
pep8 python 編碼規範 一 編排 1 縮排。4個空格的縮排 編輯器都可以完成此功能 不使用tap,更不能混合使用tap和空格。2 每行最大長度79,換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。3 類和top level函式定義之間空兩行 類中的方法定義之間空一行 函式...
PEP8編碼規範
一 編排 1 縮排。4個空格的縮排 編輯器都可以完成此功能 不使用tap,更不能混合使用tap和空格。2 每行最大長度79,換行可以使用反斜槓,最好使用圓括號。換行點要在操作符的後邊敲回車。3 類和top level函式定義之間空兩行 類中的方法定義之間空一行 函式內邏輯無關段落之間空一行 其他地方...