python編碼規範

python編碼規範


文件及目錄規範

  • 文件保存爲 utf-8 格式。python

  • 程序首行必須爲編碼聲明:# -*- coding:utf-8 -*-編程

  • 文件名所有小寫。api


代碼風格

空格

  • 設置用空格符替換TAB符。socket

  • 代碼縮進爲4個空格符。函數

  • 僅在運算符先後(如+,-,=,==)各加一個空格,不要在用於指定關鍵字參數或默認參數值的'='號周圍使用空格,其餘語句和表達式中都不要加空格。編碼

分行

  • 程序頭部聲明和import之間、import和程序之間用一個空行分隔。.net

  • 類定義之間以及程序與if __name__ =="__main__":空兩行。類定義行與成員函數之間以及函數定義之間空一行。rest

  • 每一個語句獨立一行,不要使用;在一行內放置多條語句。code

  • 每行字符數控制在72之內,若是超長能夠使用反斜槓(\)折行。對象

  • 若是語句包含()、[]、{},可以使用括號內行延續,換行後加兩個縮進以便於閱讀。

  • 換行位置應在元素分隔符或操做符前。

代碼約定

  • import緊跟在編碼聲明和程序功能註釋以後, import順序應該是先系統標準包,其次第三方包,最後是自定義包。

命名規則

命名方法

  • Lowercase(小寫)

  • lower_case_with_underscores(有下劃線的小寫)

  • UPPERCASE(大寫)

  • UPPER_CASE_WITH_UNDERSCORES(有下劃線的大寫)

  • CapitalizedWords (或 CapWords,CamelCase這樣命名是由於可從字母的大小寫分出單詞。這有時也被看成StudlyCaps。)

  • mixedCase (與CapitalizedWords的不一樣在於首字母小寫!)

命名約定

  • 單字符名稱僅用於計數器和迭代器。

  • 雙下劃線開頭並結尾的名稱爲系統保留命名法,編程中禁止使用。

  • 包名和模塊名:不含下劃線全小寫。

  • 類名:使用CapWords約定。內部使用的類外加單下劃線前綴。

  • 函數名和變量名:使用mixedCase約定。

  • 常量:使用有下劃線的大寫約定。

  • protected變量或函數:在mixedCase約定的基礎上加單下劃線前綴。

  • private變量或函數:在mixedCase約定的基礎上加雙下劃線前綴。

  • 若是命名與系統名衝突,則加單下劃線後綴。

應避免的命名

  • 單字符名稱, 除了計數器和迭代器。

  • 包/模塊名中的連字符(-)。

  • 雙下劃線開頭並結尾的名稱。


註釋規範

註釋原則

  • 不要描述代碼自己。

  • 功能修改後註釋必定要第一時間修改。

文檔字符串

文檔字符串是python特有的註釋形式。一般作爲程序文件、包、模塊、類、函數的註釋方式,能夠經過對象的__doc__成員被自動提取, 而且被pydoc所用.

程序文件、包、模塊註釋

位置在import以前,上下各空兩行。

''' <程序名>

<功能說明>

version: <版本號>

author: <開發者姓名>

createdate:

modifydate:

'''

函數註釋

位置緊跟函數定義以後。

''' <功能說明>

args: <參數名> : <說明>
... ...

returns: <返回值說明>

raises: <可能引發的異常說明>

'''

類註釋

在函數註釋的基礎上加入attributes(屬性)

塊註釋

一般用於說明程序段功能、技巧性編碼等。位置在需說明的代碼段以前。

行註釋

做用同塊註釋,位置在需說明的代碼後兩個單位縮進處。


編碼指導

  • 類若是不繼承自其餘類,則應顯式繼承object。

  • 儘可能使用%格式化方法組織字符串,不要使用字串拼接。如:"%s hello!" % (userName)

  • 儘量使用with語句處理文件或socket句柄,以確保使用完後被關閉。

  • 儘量使用is、is not取代== 。

  • 主程序應放在main()函數中,在程序文件的末尾經過以下形式調用。

if __name__ =='__main__':

    main()

參考

相關文章
相關標籤/搜索