python 用下劃線作為變數字首和字尾指定特殊變數。
_*** 不能用'from module import *'匯入
__***__ 系統定義名字
__*** 類中的私有變數名
核心風格:避免用下劃線作為變數名的開始。
因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開始。一般來講,變數名_***被看作是「私有的」,在模組或類外不可以使用。當變數是私有的時候,用_*** 來表示變數是很好的習慣。因為變數名__***__對python 來說有特殊含義,對於普通的變數應當避免這種命名風格。
"單下劃線" 開始的成員變數叫做保護變數,意思是只有類物件和子類物件自己能訪問到這些變數;
"雙下劃線" 開始的是私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個資料。
以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用「from *** import *」而匯入;以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo__)代表python裡特殊方法專用的標識,如 __init__()代表類的建構函式。
參考:blog.csdn.net/gudesheng/archive/2008/03/11/2169038.aspx
from:
Python中單下劃線和雙下劃線
python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。class a def init self,text self.text text def str self return self...
Python中單下劃線和雙下劃線
雙下劃線開頭和結尾 python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。classa def init self,text self.text text def str self re...
python中單下劃線 和雙下劃線(
函式使用單下劃線 開頭 使用單下劃線 開頭的函式 func不能被模組外部以 from module www.cppcns.comimport 形式匯入。但程式設計客棧可以用 from module import func形式單獨匯入。類屬性和類方法使用單下劃線 開頭 開頭為保護型別的屬性和方法,僅允...