Python代碼的PEP8 檢查

        Python社區提出了編寫Python代碼的PEP8(https://www.python.org/dev/peps/pep-0008/)標準。基本上,歸納規則爲:

1、每個縮進層級使用4個空格

2、每行最多79個字符

3、頂層函數或類的定義之間空兩行(特別容易漏,漏的話,是報E302 expected 2 blank lines, found 1)

4、採用ASCII或者UTF-8編碼文件

5、每條import導入一個模塊,導入放在代碼頂端,導入順序是先標準庫,第三方庫,本地庫

6、 小括號,大括號,中括號之間的逗號沒有額外的空格

7、類命名採用駱駝命名法,CamelCase;函數用小寫字符

8、函數命名使用小寫字符,例如xxx_xxx_xxx;用下劃線開頭定義私有的屬性或方法,如_xxx

這些規範其實是容易遵守的,也很合理,但是有時會疏忽,這時可以嘗試利用工具達到事半功倍的效果。pep8就是用來解決規範的問題的,自動檢查python文件是否符合PEP8規範。

首先安裝pep8; pip install -U pep8 (pip安裝:http://www.linuxde.net/2014/05/15576.html);OK,開始驗證代碼了

測試代碼:const.py  (91條建議裏的一個代碼,也存在編碼規範問題)

class _const:
    class ConstError(TypeError): pass
    class ConstCaseError(ConstError): pass
 
    def __setattr__(self, name, value):
        if self.__dict__.has_key(name):
            raise self.ConstError, "Can't change const.%s" % name
        if not name.isupper():
            raise self.ConstCaseError, "const name %s is not all upper" % name
        self.__dict__[name] = value
 
import sys
sys.modules[__name__] = _const()

# pep8 const.py
const.py:2:32: E701 multiple statements on one line (colon)
const.py:3:5: E301 expected 1 blank line, found 0
const.py:3:37: E701 multiple statements on one line (colon)
const.py:6:25: W601 .has_key() is deprecated, use 'in'
const.py:12:1: E402 module level import not at top of file
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章