這是python中命名規範的一種:
以__開頭,__結尾,一般是python系統定義的名稱,是非常特殊的,但也僅僅是用於標識,讓人知道,這是系統定義的物件。
這裡的“__”是指英文狀態下的連續兩個下劃線,即:雙下劃線
除此之外,還有類似的情況,比如:
預設情況下,Python中的成員函式和成員變數都是公開的(public),在python中沒有public,private等關鍵詞來修飾成員函式和成員變數。
但是,Python並沒有真正的私有化支援,可用下劃線完成偽私有化。
所以,我們在自己寫程式碼的時候,需儘量避免定義以下劃線開頭的變數!
這是python中命名規範的一種:
以__開頭,__結尾,一般是python系統定義的名稱,是非常特殊的,但也僅僅是用於標識,讓人知道,這是系統定義的物件。
這裡的“__”是指英文狀態下的連續兩個下劃線,即:雙下劃線
除此之外,還有類似的情況,比如:
_xxx "單下劃線 " 開始的成員變數叫做保護變數,意思是隻有類例項和子類例項能訪問到這種變數,需透過類提供的介面進行訪問,所以不能使用如下語法匯入:__xxx 類中的私有變數/方法名 (Python的函式也是物件,所以成員方法稱為成員變數也行得通。)," 雙下劃線 " 開始的是私有成員,意思是隻有類物件自己能訪問,連子類物件也不能訪問到這個資料。預設情況下,Python中的成員函式和成員變數都是公開的(public),在python中沒有public,private等關鍵詞來修飾成員函式和成員變數。
但是,Python並沒有真正的私有化支援,可用下劃線完成偽私有化。
所以,我們在自己寫程式碼的時候,需儘量避免定義以下劃線開頭的變數!