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

2021-08-30 15:30:14 字數 966 閱讀 7068

"單下劃線:"

單下劃線開始的成員變數叫做保護變數,意思是只有類物件和子類物件自己能訪問到這些變數

"雙下劃線:"

開始的是私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個資料。(如下列所示)

以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用「from *** import *」而匯入;以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(foo)代表python裡特殊方法專用的標識,如init()代表類的建構函式。

foo.py

class

foo():

def__init__()

:...

defpublic_method()

:print

'this is public method'

def__fullprivate_method()

:print

'this is double underscore leading method'

def_halfprivate_method()

:print

'this is one underscore leading method'

test.py

from foo import foo

foo.public_method(

)# ok

foo.__fullprivate_method(

)# error occur

foo._halfprivate_method(

)# ok

foo._foo__fullprivate(

)_method(

)# ok

Python單下劃線和雙下劃線

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

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...