python變數 單下劃線和雙下劃線的區別

2021-10-23 21:34:48 字數 366 閱讀 9078

參考:

在python中,有以下幾種方式來定義變數:

公有變數

前置單下劃線,私有化屬性或方法,一般來講,變數名_xx被看作是「私有 的」,在模組或類外不可以使用。當變數是私有的時候,用_xx 來表示變數是很好的習慣。類物件和子類可以訪問,這並不能完全做到真正的私有,只是約定俗成的而已,這樣寫表示不希望這個變數在外部被直接呼叫

前置雙下劃線,私有化屬性或方法,無法在外部直接訪問(名字重整所以訪問不到,只能是允許這個類本身進行訪問了。連子類也不可以)

前後雙下劃線,系統定義名字(這就是在python中強大的魔法方法),因為變數名__***__對python 來說有特殊含義,對於普通的變數應當避免這種命名風格。

Python單下劃線和雙下劃線

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from moduleimport 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下 劃線作為變數名的開始。一般來講,...

Python 單下劃線和雙下劃線解析

單下劃線 單下劃線開始的成員變數叫做保護變數,意思是只有類物件和子類物件自己能訪問到這些變數 雙下劃線 開始的是私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個資料。如下列所示 以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from impo...

Python中單下劃線和雙下劃線

python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。class a def init self,text self.text text def str self return self...