檔名
全小寫,可使用下劃線
包應該是簡短的、小寫的名字。如果下劃線可以改善可讀性可以加入。如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__。絕對不要創造這樣的名字,而只是使用它們。
*注意*:關於下劃線的使用存在一些爭議。
特定命名方式主要是指 __***__ 形式的系統保留字命名法。
專案中也可以使用這種命名,它的意義在於這種形式的變數是唯讀的,這種形式的類成員函式盡量不要過載。如
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.
老生常談python函式引數的區別 必看篇
在運用python的過程中,發現當函式引數為list的時候,在函式內部呼叫list.append 會改變形參,與c c 的不太一樣,查閱相關資料,在這裡記錄一下。python中id可以獲取物件的記憶體位址 num1 10 num2 num1 num3 10 id num1 id num2lblees...
做管理軟體的注意了,我再老生常談一下
本來我已經不想寫這些文章了,因為這些文章我已經在過去的十多年裡寫了n多,都是老生常談的問題和答案,但是總有一代一代的人掉坑里,連一點長進也沒有,連一點傳承也沒有。正好今早有人討論這些問題,我也多嘴了幾句,所以把這些多嘴再放上來。一 企業應用軟體分類 我們是做企業應用類軟體的,在我們角度來看,我們把企...
談一談python的字串和輸出
python3的字串預設是unicode格式儲存的,不必在前面加u說明。u 真的 和 真的 是一樣的。為什麼有時候獲取網頁資訊之後,我們輸出結果到螢幕,檢視一些中間變數的時候,會出現告知我們這樣的錯誤 unicodedecodeerror utf 8 codec can t decode bytes...