本篇文章給大家分享的是有關(guān)怎么使用Python對象屬性的set和get,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出敘永免費做網(wǎng)站回饋大家。
屬性的set和get方法
如果有一個對象,當需要對其進行修改屬性時,有2種方法:
1.對象名.屬性名 = 數(shù)據(jù) —->直接修改
2.對象名.方法名() —->間接修改
為了更好的保存屬性安全,即不能隨意修改,一般的處理方式為:
1.將屬性定義為私有屬性。
2.添加一個可以調(diào)用的方法,供調(diào)用。
class Person(object): def __init__(self, name): #以__開頭的屬性表示私有屬性,不允許外部訪問 self.__name = name def getName(self): return self.__name def setName(self,newName): if len(newName)>=5: self.__name = newName else: print("Error:輸入的名字長度不夠") xiaoming = Person("Se7eN_HOU") print(xiaoming.__name)
運行結(jié)果為:
Traceback (most recent call last): File "C:\Users\Se7eN_HOU\Desktop\demo.py", line 16, inprint(xiaoming.__name) AttributeError: 'Person' object has no attribute '__name'
修改為如下代碼:
class Person(object): def __init__(self, name): #以__開頭的屬性表示私有屬性,不允許外部訪問 self.__name = name def getName(self): return self.__name def setName(self,newName): if len(newName)>=5: self.__name = newName else: print("Error:輸入的名字長度不夠") xiaoming = Person("Se7eN") xiaoming.setName("Se7eN_HOU") print(xiaoming.getName()) xiaoming.setName("HOU") print(xiaoming.getName())
運行結(jié)果為:
Se7eN_HOU Error:輸入的名字長度不夠 Se7eN_HOU
說明:
1.Python中沒有像C++中public和private這些關(guān)鍵字來區(qū)別公有屬性和私有屬性。
2.它是以屬性命名方式來區(qū)分,如果在屬性名前面加了2個下劃線’__’,則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣,方法名前面加了2個下劃線的話表示該方法是私有的,否則為公有的)。
以上就是怎么使用Python對象屬性的set和get,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。