Python命名規範

  • 2020 年 1 月 19 日
  • 筆記

文件名 全小寫,可使用下劃線

包 應該是簡短的、小寫的名字。如果下劃線可以改善可讀性可以加入。如mypackage。

模組 與包的規範同。如mymodule。

類 總是使用首字母大寫單詞串。如MyClass。內部類可以使用額外的前導下劃線。

函數&方法 函數名應該為小寫,可以用下劃線風格單詞以增加可讀性。如:myfunction,my_example_function。 *注意*:混合大小寫僅被允許用於這種風格已經佔據優勢的時候,以便保持向後兼容。

函數和方法的參數 總使用「self」作為實例方法的第一個參數。總使用「cls」作為類方法的第一個參數。 如果一個函數的參數名稱和保留的關鍵字衝突,通常使用一個後綴下劃線好於使用縮寫或奇怪的拼寫。

全局變數 對於from M import *導入語句,如果想阻止導入模組內的全局變數可以使用舊有的規範,在全局變數上加一個前導的下劃線。 *注意*:應避免使用全局變數

變數 變數名全部小寫,由下劃線連接各個單詞。如color = WHITE,this_is_a_variable = 1 *注意*: 1.不論是類成員變數還是全局變數,均不使用 m 或 g 前綴。 2.私有類成員使用單一下劃線前綴標識,多定義公開成員,少定義私有成員。 3.變數名不應帶有類型資訊,因為Python是動態類型語言。如 iValue、names_list、dict_obj 等都是不好的命名。

常量 常量名所有字母大寫,由下劃線連接各個單詞如MAX_OVERFLOW,TOTAL。

異常 以「Error」作為後綴。

縮寫 命名應當盡量使用全拼寫的單詞,縮寫的情況有如下兩種: 1.常用的縮寫,如XML、ID等,在命名時也應只大寫首字母,如XmlParser。 2.命名中含有長單詞,對某個單詞進行縮寫。這時應使用約定成俗的縮寫方式。 例如: function 縮寫為 fn text 縮寫為 txt object 縮寫為 obj count 縮寫為 cnt number 縮寫為 num,等。 前導後綴下劃線 一個前導下劃線:表示非公有。 一個後綴下劃線:避免關鍵字衝突。 兩個前導下劃線:當命名一個類屬性引起名稱衝突時使用。 兩個前導和後綴下劃線:「魔」(有特殊用圖)對象或者屬性,例如__init__或者__file__。絕對不要創造這樣的名字,而只是使用它們。 *注意*:關於下劃線的使用存在一些爭議。

特定命名方式 主要是指 __xxx__ 形式的系統保留字命名法。項目中也可以使用這種命名,它的意義在於這種形式的變數是只讀的,這種形式的類成員函數盡量不要重載。如 class Base(object): def __init__(self, id, parent = None): self.__id__ = id self.__parent__ = parent def __message__(self, msgid): # …略 其中 __id__、__parent__ 和 __message__ 都採用了系統保留字命名法。

附:Google Python命名規範 module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, instance_var_name, function_parameter_name, local_var_name.