新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Python類成員的訪問限制
1、說明

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


咨詢
建站咨詢
