淺談Python中的私有變量
私有變量表示方法
在變量前加上兩個(gè)下劃線的是私有變量。
class Teacher():
def __init__(self,name,level):
self.__name=name
self.__level=level
#獲取老師的等級(jí)
def get_level(self):
return self.__level
#獲取名字
def get_in_name(self):
return self.__name
動(dòng)態(tài)方法無(wú)法讀取私有變量
即使是動(dòng)態(tài)方法也無(wú)法讀取私有變量,強(qiáng)行讀取會(huì)報(bào)錯(cuò)。
#定義動(dòng)態(tài)方法
def get_name(self):
return self.__name
#動(dòng)態(tài)方法賦值
Teacher.get_name=get_name
t=Teacher("GG",5)
print("level is: ",t.get_level()) #可行
print("name is",t.get_name()) #報(bào)錯(cuò),顯示沒(méi)有該屬性
動(dòng)態(tài)方法無(wú)法修改私有變量
動(dòng)態(tài)方法也無(wú)法修改私有變量,強(qiáng)行修改不會(huì)報(bào)錯(cuò),但是沒(méi)有效果。
t.set_name("NN") #實(shí)際沒(méi)有效果但是不報(bào)錯(cuò)
print(t.get_in_name()) #類內(nèi)部獲取名字,輸出GG
強(qiáng)行讀取和修改私有變量
那么強(qiáng)行要讀取和改變私有變量怎么辦呢?
有一個(gè)不推薦但是可行的辦法:
私有屬性在對(duì)象內(nèi)部被名字是”類名_屬性名”。
在這個(gè)例子里,是這樣的:
print("name is",t._Teacher__name) #輸出GG
t._Teacher__name="AA" #被改變了
print("name is",t._Teacher__name) #輸出AA
相關(guān)文章
python selenium實(shí)現(xiàn)發(fā)送帶附件的郵件代碼實(shí)例
這篇文章主要介紹了python selenium實(shí)現(xiàn)發(fā)送帶附件的郵件代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐
這篇文章主要介紹了linux 下實(shí)現(xiàn)python多版本安裝實(shí)踐,需要的朋友可以參考下2014-11-11
10個(gè)Python辦公自動(dòng)化案例總結(jié)
Python作為一種簡(jiǎn)單而強(qiáng)大的編程語(yǔ)言,不僅在數(shù)據(jù)科學(xué)和軟件開發(fā)領(lǐng)域廣受歡迎,還在辦公自動(dòng)化方面發(fā)揮了巨大作用,通過(guò)Python,我們可以編寫腳本來(lái)自動(dòng)執(zhí)行各種重復(fù)性任務(wù),從而提高工作效率并減少錯(cuò)誤,在本文中,我們總結(jié)了10個(gè)Python辦公自動(dòng)化案例2024-09-09
Python使用sigthief簽發(fā)證書的實(shí)現(xiàn)步驟
Windows 系統(tǒng)中的一些非常重要文件通常會(huì)被添加數(shù)字簽名,其目的是用來(lái)防止被篡改,能確保用戶通過(guò)互聯(lián)網(wǎng)下載時(shí)能確信此代碼沒(méi)有被非法篡改和來(lái)源可信,從而保護(hù)了代碼的完整性、保護(hù)了用戶不會(huì)被病毒、惡意代碼和間諜軟件所侵害,本章將演示證書的簽發(fā)與偽造2021-06-06
Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫(kù)并顯示數(shù)據(jù)
這篇文章主要介紹了Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫(kù)并顯示數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
Python用字典統(tǒng)計(jì)CSV數(shù)據(jù)的實(shí)現(xiàn)示例
python提供了許多處理CSV文件的工具,其中字典是一個(gè)非常高效的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了Python用字典統(tǒng)計(jì)CSV數(shù)據(jù)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景
這篇文章主要介紹了關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景,argparse 模塊使編寫用戶友好的命令行界面變得容易,程序定義了所需的參數(shù),而 argparse 將找出如何從 sys.argv 中解析這些參數(shù),需要的朋友可以參考下2023-08-08
在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法
今天小編就為大家分享一篇在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11

