千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > python類成員的訪問限制

python類成員的訪問限制

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-12 13:27:11 1699766831

python類成員的訪問限制

1、說明

(1)默認情況下,Python中的類成員都是公開的,在Python中沒有像public,private這樣的關(guān)鍵字來修飾類成員。定義Python中的私有成員只需在變量名或函數(shù)名之前加上兩條下劃線,這個函數(shù)或變量就會變成私有的。當原私有成員的名字被外部使用時,會提示找不到。但是這只是一個約定的方法,如果想在外部調(diào)用,仍然可以調(diào)用。

(2)Python的私有成員并不是真正意義上的私有,在類外部也可以調(diào)用。

2、實例

#!/usr/bin/envpython

#-*-coding:utf-8-*-

classDemo(object):

"""docstringforDemo"""

def__init__(self):

super(Demo,self).__init__()

self.__message='HelloWorld'

def__getMessage(self):

returnself.__message

if__name__=='__main__':

demo=Demo()

#直接調(diào)用會報錯:AttributeError:'Demo'objecthasnoattribute'__getMessage'

#print(demo.__getMessage())

#我們來看一下demo模塊都有哪些成員

print(dir(demo))

"""

可以看到原來Python使用一種namemangling(名稱修飾)技術(shù),將__membername替換成_classname__membername,

['_Demo__getMessage','_Demo__message',...]

"""

#我們使用修飾后的名字就可以成功調(diào)用

print(demo._Demo__message)

print(demo._Demo__getMessage())

以上就是Python類成員的訪問限制,希望對大家有所幫助。更多Python學習推薦:請關(guān)注IT培訓機構(gòu):千鋒教育。

tags: python培訓
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT