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

