python中單下劃線和雙下劃線有什麼區別

2021-09-25 11:07:08 字數 374 閱讀 5486

在python類中,我們經常可以看到類似於_object,__object,__object__的物件,那麼這些有什麼區別呢?

單下劃線 表示類中的保護變數,它在類外不可訪問,在類和子類中可以訪問,類似於c++中的保護繼承,如果非要在類外訪問時,_類名__物件名即可。

雙下劃線 表示類中的私有成員,只能在本類中訪問,python設計此的真正目的僅僅是為了避免子類覆蓋父類的方法。類似與c++中的private中關鍵字下的物件。

__object__ 表示python中的內建方法,比如:

li=[1,2,3,4]

print(len(li))

print(li.__len__())

這倆者是一樣的

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形式單獨匯入。類屬性和類方法使用單下劃線 開頭 開頭為保護型別的屬性和方法,僅允...