Python 編碼風格

jopen 11年前發布 | 13K 次閱讀 Python 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!