python 雙下滑線,單下劃線

2021-09-12 10:00:25 字數 1341 閱讀 1843

1、_*** 不能用於』from module import *』 以單下劃線開頭的表示的是protected型別的變數。

即保護型別只能允許其本身與子類進行訪問。

2、__*** 雙下劃線的表示的是私有型別的變數。只能是允許這個類本身進行訪問了。連子類也

不可以3、__***___ 定義的是特列方法。像__init__之類的

例項

1 >>> 

2class

student(object):

3__name =0

4 _*** = '

male'5

67 >>> student.__dict__

__module__

': '

__main__

', '

_student__name

': 0, '

_***

': '

male

', '

__dict__

': '

__dict__

' of '

student

' objects>, '

__weakref__

': '

__weakref__

' of '

student

' objects>, '

__doc__

': none})

910 >>> student.__name

11traceback (most recent call last):

12 file "

", line 1, in

13 student.__name

14 attributeerror: type object '

student

' has no attribute '

__name'15

16 >>>student._student__name

1718 >>>student._***19'

male

'

總結:我們宣告了乙個學生類,分別用但下劃線和雙下劃線定義了乙個成員,然後我們試圖訪問成員,我們發現:雙下劃線的成員無法直接訪問,通過__dict__我們看到,在類的內部,python自動將__name 解釋成 _student__name,於是我們用 _student__name訪問,這次成功。然而,_name不受影響。所以: 兩頭下劃線:python類內建成員專用,區別使用者自定義成員

posted @

2018-06-23 12:28

不停地走 閱讀(

...)

編輯收藏

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