Python代码规范之简明概述
生活随笔
收集整理的這篇文章主要介紹了
Python代码规范之简明概述
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、編碼
- 如無特殊情況, 文件一律使用 UTF-8 編碼
- 如無特殊情況, 文件頭部必須加入#-*-coding:utf-8-*-標(biāo)識
2、代碼格式
2.1、縮進(jìn)
- 統(tǒng)一使用 4 個(gè)空格進(jìn)行縮進(jìn)
2.2、行寬
每行代碼盡量不超過 80 個(gè)字符(在特殊情況下可以略微超過 80 ,但最長不得超過 120)
理由:
- 這在查看 side-by-side 的 diff 時(shí)很有幫助
- 方便在控制臺下查看代碼
- 太長可能是設(shè)計(jì)有缺陷
2.3、引號
簡單說,自然語言使用雙引號,機(jī)器標(biāo)示使用單引號,因此 代碼里 多數(shù)應(yīng)該使用 單引號
- 自然語言 使用雙引號 "..."
例如錯誤信息;很多情況還是 unicode,使用u"你好世界" - 機(jī)器標(biāo)識 使用單引號 '...' 例如 dict 里的 key
- 正則表達(dá)式 使用原生的雙引號 r"..."
- 文檔字符串 (docstring) 使用三個(gè)雙引號 """......"""
2.4、空行
- 模塊級函數(shù)和類定義之間空兩行;
- 類成員函數(shù)之間空一行;
- 可以使用多個(gè)空行分隔多組相關(guān)的函數(shù)
- 函數(shù)中可以使用空行分隔出邏輯相關(guān)的代碼
2.5、編碼
- 文件使用 UTF-8 編碼
- 文件頭部加入#-*-conding:utf-8-*-標(biāo)識
3、import 語句
- import 語句應(yīng)該分行書寫
- import語句應(yīng)該使用 absolute import
- import語句應(yīng)該放在文件頭部,置于模塊說明及docstring之后,于全局變量之前;
- import語句應(yīng)該按照順序排列,每組之間用一個(gè)空行分隔
- 導(dǎo)入其他模塊的類定義時(shí),可以使用相對導(dǎo)入
- 如果發(fā)生命名沖突,則可使用命名空間
4、空格
- 在二元運(yùn)算符兩邊各空一格[=,-,+=,==,>,in,is not, and]:
- 函數(shù)的參數(shù)列表中,,之后要有空格
- 函數(shù)的參數(shù)列表中,默認(rèn)值等號兩邊不要添加空格
- 左括號之后,右括號之前不要加多余的空格
- 字典對象的左括號之前不要多余的空格
- 不要為對齊賦值語句而使用的額外空格
5、換行
Python 支持括號內(nèi)的換行。這時(shí)有兩種情況。
使用反斜杠\換行,二元運(yùn)算符+ .等應(yīng)出現(xiàn)在行末;長字符串也可以用此法換行
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' session.query(MyTable).\filter_by(id=1).\one()print 'Hello, '\'%s %s!' %\('Harry', 'Potter')禁止復(fù)合語句,即一行中包含多個(gè)語句:
# 正確的寫法 do_first() do_second() do_third()# 不推薦的寫法 do_first();do_second();do_third();if/for/while一定要換行:
# 正確的寫法 if foo == 'blah':do_blah_thing()# 不推薦的寫法 if foo == 'blah': do_blash_thing()6、docstring
docstring 的規(guī)范中最其本的兩點(diǎn):
總結(jié)
以上是生活随笔為你收集整理的Python代码规范之简明概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么Python类语法应该不同?
- 下一篇: websocket python爬虫_p