您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“python中有哪些編碼規范”,內容詳細,步驟清晰,細節處理妥當,希望這篇“python中有哪些編碼規范”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
每一級縮進4個空格。
續行應該與包裹元素對齊,要么使用圓括號,方括號,花括號內的隱式行連接來垂直對齊,要么使用掛行縮進對齊。當使用掛行縮進對齊時,應該考慮到第一行不應該有參數,以及使用縮進以區分自己是續行。
對齊縮進(左右括號對齊)
def long_function_name(var_one, var_two,
var_three, var_four):
print(var_one)
懸掛縮進
def long_function_name(
var_one, var_two,
var_three, var_four):
print(var_one)
層級縮進
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one, var_two, var_three, var_four)
所有行限制的最大字符數為79
沒有結構化限制的大塊文本(文檔字符或者注釋),每行的最大字符數限制在72。
with open("file1", "r") as f1,
open("file2", "r") as f2:
f2.write(f1.read())
頂層函數和類定義,前后用兩個空行隔開。
類里面方法定義用一個空行隔開。
class Class01:
pass
class Class02:
def function_01(self):
pass
def function_02(self):
pass
變量命名
永遠不要使用字母I (小寫的L), O (大寫的O), I (大寫的I)作為單字符的變量名。
在有些字體里面,這些字符無法與數字0和1區分。如果想用I, 可使用L代替。
函數命名
函數名應該小寫,如果想提高可讀性可以用下劃線分隔。
大小寫混合僅在為了兼容原來主要以大小寫混合風格的情況下使用,保持向后兼容。
類命名
類名一般使用首字母大寫的約定。
在接口被文檔化并且主要被用于調用的情況下,可以使用函數的命名風格代替。
注意:對于內置的變量命名有一個單獨的約定:大部分內置變量是單個單詞(或者兩個單詞連接在一起),首字母大寫的命名法只用于異常名或者內部的常量。
類里面函數和方法參數
始終要將self作為實例方法的第一個參數。
始終要將cls作為類方法的第一個參數。
如果函數的參數名和已有關鍵字沖突,在最后加大意下劃線比縮寫或者隨意拼寫更好。因此class_比clss更好。
單引號和雙引號字符串是相同的。PEP不會為這個給出建議。選擇一條規則并堅持使用下去。當一個字符串中包含單引號或者雙引號字符串的時候,使用和最外層不同的符號來避免使用反斜杠,從而提高可讀性。
模塊和包導入規范
命名規范 模塊名稱要短,使用小寫,并避免使用特殊符號, 比如點和問號
因此請盡量保持模塊名簡單,以無需分開單詞最佳(不推薦在兩個單詞之間使用下劃線)
模塊導入建議
示例 | 結果 |
from modu import * | 差, 不清楚具體從模塊中導入了哪些內容 |
from modu import sqrt | 稍好 |
import modu | 最佳 , 調用的時候直接使用modu.sqrt能比較清楚的知道當前方法屬于哪個模塊。 |
import os
import sys | 推薦 |
import os, sys | 不推薦 |
from subprocess import Popen, PIPE | 也可以 |
__all__變量
如果模塊中存在全局變量__all__, 那么通過__all__ from xxx import *導入時也只會導入__all__中指定的方法和變量,沒有的話默認全部導入。
任意包含__init__.py文件的目錄都被認為是一個python包。
因為導入包時會首先執行__init__.py文件
包中__init__.py文件中__all__變量的作用
init.py文件中存在全局變量__all__, 通過from xxx import *導入時也只會導入__all__中指定的方法和變量,沒有的話默認全部導入。
與代碼相矛盾的注釋比沒有注釋還糟,當代碼更改時,優先更新對應的注釋! 注釋應該是完整的句子。如果一個注釋是一個短語或者句子,它的第一個單詞應該大寫,除非它是以小寫字母開頭的標識符(永遠不要改變標識符的大小寫!)。 如果注釋很短,結尾的句號可以省略。塊注釋一般由完整句子的一個或多個段落組成,并且每句話結束有個句號。 在句尾結束的時候應該使用兩個空格。 在非英語國家的python程序員,請使用英文寫注釋,除非120%的確信你的代碼不會被使用其他語言的人閱讀。
塊注釋
塊注釋通常適用于跟隨它們的某些(或全部)代碼,并縮進到與代碼相同的級別。塊注釋的每一行開頭使用一個#和一個空格(除非塊注釋內部縮進文本)。
塊注釋內部的段落通常只有一個#的空行分隔。
行內注釋
有節制地使用行內注釋
行內注釋是與代碼語句同行的注釋。行內注釋和代碼至少要有兩個空格分隔。注釋由#和一個空格開始。
文檔注釋
要為所有的公共模塊,函數,類和方法編寫文檔說明。
非公共的方法沒有必要,但是應該有一個描述方法具體作用的注釋。這個注釋應該在def那一行之后。
PEP257描述了寫出好的文檔注釋的相關約定。特別需要注意的是:多行文檔注釋使用的結尾三引號應該是自成一行,例如:
"""這是注釋
注釋的具體內容
"""
對于單行的文檔說明,尾部的三引號應該和文檔在同一行。
讀到這里,這篇“python中有哪些編碼規范”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。