Python 學(xué)習(xí)之旅,先來(lái)看看 Python 的代碼規(guī)范,讓自己先有個(gè)意識(shí),而且在往后的學(xué)習(xí)中慢慢養(yǎng)成習(xí)慣,所以習(xí)慣特別特別重要,所以大家跟著小編往下面看吧 需要文檔的朋友可以加下群哦,群內(nèi)貌似也有兩千多人了,有很多熱愛python聚集在了一起,并整理了大量的學(xué)習(xí)資料上傳到了群文件當(dāng)中,喜歡python的朋友可以加入python群:526929231歡迎大家交流討論各種技術(shù),一起快速成長(zhǎng) 通過(guò)閱讀博客和文章,保持有關(guān)信息的新鮮度也很重要,PDF的書籍已經(jīng)整理到了群文件當(dāng)中
目錄
一、簡(jiǎn)明概述
1、編碼
如無(wú)特殊情況, 文件一律使用 UTF-8 編碼
如無(wú)特殊情況, 文件頭部必須加入#-*-coding:utf-8-*-
標(biāo)識(shí)
2、代碼格式
2.1、縮進(jìn)
統(tǒng)一使用 4 個(gè)空格進(jìn)行縮進(jìn)
2.2、行寬
每行代碼盡量不超過(guò) 80 個(gè)字符(在特殊情況下可以略微超過(guò) 80 ,但最長(zhǎng)不得超過(guò) 120)
理由:
這在查看 side-by-side 的 diff 時(shí)很有幫助
方便在控制臺(tái)下查看代碼
太長(zhǎng)可能是設(shè)計(jì)有缺陷
2.3、引號(hào)
簡(jiǎn)單說(shuō),自然語(yǔ)言使用雙引號(hào),機(jī)器標(biāo)示使用單引號(hào),因此 代碼里 多數(shù)應(yīng)該使用 單引號(hào)
自然語(yǔ)言 使用雙引號(hào) "..."
例如錯(cuò)誤信息;很多情況還是 unicode,使用u"你好世界"
機(jī)器標(biāo)識(shí) 使用單引號(hào) '...'
例如 dict 里的 key
正則表達(dá)式 使用原生的雙引號(hào) r"..."
文檔字符串 (docstring) 使用三個(gè)雙引號(hào) """......"""
2.4、空行
模塊級(jí)函數(shù)和類定義之間空兩行;
類成員函數(shù)之間空一行;
可以使用多個(gè)空行分隔多組相關(guān)的函數(shù)
函數(shù)中可以使用空行分隔出邏輯相關(guān)的代碼
2.5、編碼
文件使用 UTF-8 編碼
文件頭部加入 # -*-conding:utf-8-*- 標(biāo)識(shí)
import 語(yǔ)句應(yīng)該分行書寫
import語(yǔ)句應(yīng)該使用 absolute import
import語(yǔ)句應(yīng)該放在文件頭部,置于模塊說(shuō)明及docstring之后,于全局變量之前;
import語(yǔ)句應(yīng)該按照順序排列,每組之間用一個(gè)空行分隔
導(dǎo)入其他模塊的類定義時(shí),可以使用相對(duì)導(dǎo)入
如果發(fā)生命名沖突,則可使用命名空間
4、空格
在二元運(yùn)算符兩邊各空一格[=,-,+=,==,>,in,is not, and]
:
函數(shù)的參數(shù)列表中,,之后要有空格
函數(shù)的參數(shù)列表中,默認(rèn)值等號(hào)兩邊不要添加空格
左括號(hào)之后,右括號(hào)之前不要加多余的空格
字典對(duì)象的左括號(hào)之前不要多余的空格
不要為對(duì)齊賦值語(yǔ)句而使用的額外空格
5、換行
Python 支持括號(hào)內(nèi)的換行。這時(shí)有兩種情況。
1) 第二行縮進(jìn)到括號(hào)的起始處
2) 第二行縮進(jìn) 4 個(gè)空格,適用于起始括號(hào)就換行的情形
使用反斜杠換行,二元運(yùn)算符+ .等應(yīng)出現(xiàn)在行末;長(zhǎng)字符串也可以用此法換行
禁止復(fù)合語(yǔ)句,即一行中包含多個(gè)語(yǔ)句:
if/for/while一定要換行:
6、docstring
docstring 的規(guī)范中最其本的兩點(diǎn):
所有的公共模塊、函數(shù)、類、方法,都應(yīng)該寫 docstring 。私有方法不一定需要,但應(yīng)該在 def 后提供一個(gè)塊注釋來(lái)說(shuō)明。
docstring 的結(jié)束”“”應(yīng)該獨(dú)占一行,除非此 docstring 只有一行。
二、注釋
1、注釋
1.1、塊注釋
“#”號(hào)后空一格,段落件用空行分開(同樣需要“#”號(hào))
1.2、行注釋
至少使用兩個(gè)空格和語(yǔ)句分開,注意不要使用無(wú)意義的注釋
1.3、建議
在代碼的關(guān)鍵部分(或比較復(fù)雜的地方), 能寫注釋的要盡量寫注釋
比較重要的注釋段, 使用多個(gè)等號(hào)隔開, 可以更加醒目, 突出重要性
2、文檔注釋(Docstring)
作為文檔的Docstring一般出現(xiàn)在模塊頭部、函數(shù)和類的頭部,這樣在python中可以通過(guò)對(duì)象的__doc__對(duì)象獲取文檔.
編輯器和IDE也可以根據(jù)Docstring給出自動(dòng)提示.
文檔注釋以 “”” 開頭和結(jié)尾, 首行不換行, 如有多行, 末行必需換行, 以下是Google的docstring風(fēng)格示例
不要在文檔注釋復(fù)制函數(shù)定義原型, 而是具體描述其具體內(nèi)容, 解釋具體參數(shù)和返回值等
對(duì)函數(shù)參數(shù)、返回值等的說(shuō)明采用numpy標(biāo)準(zhǔn), 如下所示
文檔注釋不限于中英文, 但不要中英文混用
文檔注釋不是越長(zhǎng)越好, 通常一兩句話能把情況說(shuō)清楚即可
模塊、公有類、公有方法, 能寫文檔注釋的, 應(yīng)該盡量寫文檔注釋
三、命名規(guī)范
1、模塊
模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線(除非多個(gè)單詞,且數(shù)量不多的情況)
2、類名
類名使用駝峰(CamelCase)命名風(fēng)格,首字母大寫,私有類可用一個(gè)下劃線開頭
將相關(guān)的類和頂級(jí)函數(shù)放在同一個(gè)模塊里. 不像Java, 沒(méi)必要限制一個(gè)類一個(gè)模塊.
3、函數(shù)
4、變量名
變量名盡量小寫, 如有多個(gè)單詞,用下劃線隔開
常量采用全大寫,如有多個(gè)單詞,使用下劃線隔開
5、常量
常量使用以下劃線分隔的大寫命名
通過(guò)閱讀博客和文章,保持有關(guān)信息的新鮮度也很重要,有很多熱愛python聚集在了一起,并整理了大量的學(xué)習(xí)資料上傳到了群文件當(dāng)中,PDF的書籍已經(jīng)整理到了群文件當(dāng)中,需要的朋友可以加下群,群內(nèi)貌似也有兩千多人了,喜歡python的朋友可以加入python群:526929231歡迎大家交流討論各種技術(shù),一起快速成長(zhǎng)
聯(lián)系客服