新聞中心
1、說(shuō)明

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、桂平ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的桂平網(wǎng)站制作公司
(1)默認(rèn)情況下,Python中的類(lèi)成員都是公開(kāi)的,在Python中沒(méi)有像public,private這樣的關(guān)鍵字來(lái)修飾類(lèi)成員。定義Python中的私有成員只需在變量名或函數(shù)名之前加上兩條下劃線,這個(gè)函數(shù)或變量就會(huì)變成私有的。當(dāng)原私有成員的名字被外部使用時(shí),會(huì)提示找不到。但是這只是一個(gè)約定的方法,如果想在外部調(diào)用,仍然可以調(diào)用。
(2)Python的私有成員并不是真正意義上的私有,在類(lèi)外部也可以調(diào)用。
2、實(shí)例
#!/usr/bin/env python #-*- coding:utf-8 -*- class Demo(object): """docstring for Demo""" def __init__(self): super(Demo, self).__init__() self.__message = 'Hello World' def __getMessage(self): return self.__message if __name__ == '__main__': demo = Demo() #直接調(diào)用會(huì)報(bào)錯(cuò):AttributeError: 'Demo' object has no attribute '__getMessage' #print(demo.__getMessage()) #我們來(lái)看一下demo模塊都有哪些成員 print(dir(demo)) """ 可以看到原來(lái)Python使用一種name mangling(名稱(chēng)修飾)技術(shù),將__membername替換成_classname__membername, ['_Demo__getMessage', '_Demo__message', ...] """ #我們使用修飾后的名字就可以成功調(diào)用 print(demo._Demo__message) print(demo._Demo__getMessage())
以上就是Python類(lèi)成員的訪問(wèn)限制,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)推薦:python教學(xué)
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
當(dāng)前文章:創(chuàng)新互聯(lián)Python教程:Python類(lèi)成員的訪問(wèn)限制
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdpjcdh.html


咨詢(xún)
建站咨詢(xún)
