中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python最簡編碼規范

發布時間:2020-07-24 11:10:29 來源:網絡 閱讀:377 作者:Python熱愛者 欄目:編程語言

0、前言

本文是閱讀《Python Coding Rule》之后總結的最為精華及簡單的編碼規范,根據每個人不同喜好有些地方會有不同的選擇,我只是做了對自己來說最簡單易行的選擇,僅供大家參考。

Python最簡編碼規范

1、重要原則

a.保持風格的一致性很重要,但最重要的是:知道何時不一致

b.打破一條既定規則的兩個好理由:

c.當應用規則會導致代碼可讀性下降(可讀性賽高)

d.為了和周圍代碼保持一致而打破規則(歷史遺留)

2、最簡規范

a.只使用空格縮進

b.使用UTF-8編碼

c.每行只寫一條語句

d.使用行末反斜杠折疊長行,限制每行最大79字符

e.導入包:每行唯一、從大到小、絕對路徑

f.類內方法空1行分隔,類外空2行分隔

g.運算符除 * 外,兩邊空1格分隔,函數參數=周圍不用空格

h.除類名使用駝峰法以外,其他模塊、函數、方法、變量均使用全小寫+下劃線

i.1個前導下劃線表示半公開,2個前導下劃線表示私有,與保留字區分使用單個后置下劃線

j.開發時使用中文注釋,發布時再寫英文文檔

3、詳細規范

a.全文通用

b.只使用空格縮進,4個空格表示1個縮進層次

c.每行長度限制在79字符內,使用行末反斜杠折疊長行

d.使用UTF-8編碼

e.每行只寫一條語句

Python最簡編碼規范

4、代碼命名

一行只import一個包,Imports的順序為:標準庫、相關主包、特定應用,每組導入之間放置1行空行,所有導入使用包的絕對路徑。

分割頂層函數和類的定義使用2行空行,分割類內方法定義使用1行空行,class行與第一個方法定義之間要有1行空行。

整體使用英文書寫方式來使用空格,即僅在逗號、分號后面添加1個空格,其他任何符號如圓括號、方括號、花括號等都不用空格把符號與字符分開,寫在一起表示一個整體;運算符除 * 號以外,其他符號兩邊都各用1個空格分隔;函數參數=號周圍不用空格。

模塊名:不含下劃線、簡短、全小寫;

類名、異常名:首字母大寫單詞串的駝峰法;

函數名、全局變量名、方法名、實例變量:全小寫,加下劃線增加可讀性;

一個前導下劃線僅用于不想被導入的全局變量(還有內部函數和類)前加一個下劃線)、不打算作為類的公共接口的內部方法和實例變量;

兩個前導下劃線以表示類私有的名字,只用來避免與類(為可以子類化所設計)中的屬性發生名字沖突。

私有屬性必須有兩個前導下劃線,無后置下劃線;

非公有屬性必須有一個前導下劃線,無后置下劃線。

公共屬性沒有前導和后置下劃線,除非它們與保留字沖突,此情況下,單個后置下劃線比前置或混亂的拼寫要好,例如:class_優于klass。

5、編寫技巧

與None之類的單值比較,永遠用:'is'或'is not'來做:if x is not None

在模塊和包內定義基異常類(base exception class)

使用字符串方法(methods)代替字符串模塊。

在檢查前綴或后綴時避免對字符串進行切片,用startswith()和endswith()代替,如:No: if foo[:3] == 'bar':Yes: if foo.startswith('bar'):

只用isinstance()進行對象類型的比較,如:No: if type(obj) is type(1):Yes: if isinstance(obj, int)

判斷True或False不要用 ==,如:No: if greeting == True:Yes: if greeting:

6、注釋

開發時,注釋全部用中文來寫,當要發布腳本工具時,再寫英文文檔。

注釋應該是是完整的句子(短語也可),首字母大寫;如果注釋很短,省略末尾句號;注釋塊由一個or多個完整句子構成的段落組成,則每個句子使用句子結尾;句末句號后使用兩個空格。

注釋塊每行以#和一個空格開始,并且跟隨注釋的代碼具有相同的縮進層次,注釋塊上下方有一空行包圍。

謹慎使用行內注釋,至少使用兩個空格與語句分開。

使用 pydoc; epydoc; Doxgen 等文檔化工具,為所有公共模塊、函數、類和方法邊寫文檔字符串,文檔字符串對非公開的方法不是必要的,但你應該有一個描述這個方法做什么的注釋,這個注釋應該在"def"這行后。

多行文檔字符串結尾的""" 應該單獨成行。

版本注記:定義一個變量__version__ = "$Revision: 1.4 $"

Stay hungry. Stay foolish.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

韩城市| 方城县| 安乡县| 盐边县| 绥中县| 通江县| 高台县| 新密市| 宝丰县| 永靖县| 吉首市| 辽宁省| 准格尔旗| 西乌| 江都市| 托克逊县| 囊谦县| 新乡县| 莫力| 柳林县| 沅江市| 合山市| 江达县| 特克斯县| 武川县| 泰兴市| 扬中市| 云梦县| 龙岩市| 嫩江县| 澳门| 内丘县| 西乌珠穆沁旗| 南靖县| 惠州市| 凤阳县| 桃园县| 六安市| 时尚| 兴宁市| 江源县|