Python 編碼風格
#!/usr/bin/env python #在文件頭部 ( 第一行 ) 加上 設置 Python 解釋器# -*- coding: utf-8 -*- #在文件頭部 ( 第二行 ) 加上 在編輯器中設置以 UTF-8 默認編碼保存文件 # Copyright (c) 2011 - chinakr <chinakr@gmail.com> #版權信息放在文件頭部,文件編碼之后 # docstring 是 Python 特有的注釋風格,它是模 塊、類或函數的第一個語句,可以通過 __doc__ 方法訪問 # 用英語撰寫注釋,短注釋可以忽略末尾的句號 (.) # docstring 為每個模塊、類或函數撰寫 docstring 推薦使用三個雙引號 (”””) 來定義 docsting , 不推薦使用三個單引號 (''') # 模塊的 docsting 放在文件頭部,版權信息之后 ”””This is a one line docstring.””” ”””The title of a multiline docstring: After title is the content.You can write it as long as needed. ””” # 把 import 語句放在文件頭部,在模塊 docstring 之后,在模塊全局變量或全局常量之前 # 按照從一般到特殊的原則分組 import 語句,先 import 標準庫,然后 import 第三方庫,最后 import 程序中的自定義庫 # 在不同分組的 import 語句之間加空行 # 每個 import 語句只導入一個模塊 import sys import time from PyQt.QtCore import SIGNAL, QTimer # 在終端中使用中文字符 在文件頭部加上 # import sys # reload(sys) # sys.setdefaultencoding('utf-8') # 一行代碼的長度不能超過 79 個字符 # 在括號 ( 圓括號、方括號、花括號 ) 內部折行是 推薦使用的方式 fooBar(self, width, height, color='balck', design=None, x='foo', emphasis=None, highlight=0) # 需要時可以在表達式兩側加上額外的括號 if (width == 0 and height == 0 and color == 'red' and empasis == 'strong'): # 括號內的長字符串可以直接寫成兩個短字符串 x = ('This will build a very long long ' 'long long long long long long string') # 使用續行符號,折行的位置可以在逗號 (,) 后或 運算符前,折行后要多一個縮進 from PyQt4.QtCore import QTextCodec, SIGNAL, SLOT, \ QLibraryInfo, QTimer veryLongVariableA = veryLongVariableB \ + verLongVariableC # 使用 4 個空格進行縮進 不要使用 Tab 或者混合使用空格和 Tab # 適當的空行可以提高代碼的可讀性 加空行的原則: ## 在不同分組的 import 語句之間加空行 ## 在頂層的類或函數定義之間加兩個空行 ## 在類或函數定義之間加空行 ## 相關的函數定義可以放在一起,并使用兩個空行來分 隔 ( 應謹慎地使用額外的空行 ) ## 在函數或方法內部可以加空行,也就是把相關的代碼 緊湊地寫在一起,形成邏輯段落,段落之間用空行分 隔 ( 應謹慎地使用額外的空行 ) # 加空格的情況: ## 逗號 (,) 、冒號 (:) 后要加空格 ## 二元運算符前后要加空格,如賦值運算符 (=) 、比較 運算符 (==, <, >, !=, <=, >=, in, not in, is, is not) 和邏 輯運算符 (and, or, not) ## 算數運算符前后要加空格 # 不加空格的情況: ## 逗號 (,) 、冒號 (:) 前不加空格 參數列表、索引 (index) 或切片 (slice) 的前括號 ( 圓 ## 括號, 方括號)前不加空格 前括號 ( 圓括號、 方括號、花括號 ) 后不加空格,后 ## 括號前不加空格 一元運算符前后不加空格 ## 函數或方法定義或調用時參數列表中的等號 (=) 前后 不加空格 ## 冒號 (:) 在行尾時不加空格,如類定義、函數定義、 分支語句、循環語句 # 謹慎地使用括號 # 不要在返回語句和條件語句中使用括號,除非是 為了換行 if foo: bar() return foo # 可以在元組 (tuple) 兩側使用括號 for (x, y) in dict.items(): # 恰當的命名可以提高代碼的可讀性 命名時只使用 ASCII 字符,并盡量使用英文單詞 命名規則 # 類型 公共 內部 # 包 lower_with_under # 模塊 lower_with_under _lower_with_under # 類 CapWords _CapWords # 函數 capWords() _capWords() # 全局常量 / 類常量 CAPS_WITH_UNDER _CAPS_WITH_UNDER # 全局變量 / 類變量 capWords _capWords # 方法 capWrods() _capWords() ( 保護 ) __capWords() ( 私有 ) # 函數參數 / 方法參數 capWords # 局部變量 capWrods # 不要使用l(小寫的L)、o(小寫的O)和I(大寫的 i) 作為單字符變量名,因為在某些字體下很難把 它們和數字1、0區分開 ## 當需要使用 l( 小寫的 L) 時可以使用 L 代替 ## 當需要使用保留關鍵字作為函數名時,可以在名 字后加一個下劃線 (_) ,而不要破壞正常的拼寫 # 模塊的主要功能要放在 main() 函數中 def main(): //do something if __name__ == '__main__': main() </pre>來自:<a href="/misc/goto?guid=4959545458770881992" target="_blank">http://renxiangzyq.iteye.com/blog/1074378</a><br />
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!