python中get和set使用_Python对象属性的set和get方法
屬性的set和get方法
如果有一個對象,當需要對其進行修改屬性時,有2種方法:
1.對象名.屬性名 = 數據 —->直接修改
2.對象名.方法名() —->間接修改
為了更好的保存屬性安全,即不能隨意修改,一般的處理方式為:
1.將屬性定義為私有屬性。
2.添加一個可以調用的方法,供調用。
相關推薦:《Python相關教程》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)
運行結果為:Traceback?(most?recent?call?last):
File?"C:UsersSe7eN_HOUDesktopdemo.py",?line?16,?in?
print(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())
運行結果為:Se7eN_HOU
Error:輸入的名字長度不夠
Se7eN_HOU
說明:
1.Python中沒有像C++中public和private這些關鍵字來區別公有屬性和私有屬性。
2.它是以屬性命名方式來區分,如果在屬性名前面加了2個下劃線’__’,則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣,方法名前面加了2個下劃線的話表示該方法是私有的,否則為公有的)。
相關推薦:
python的魔法方法是什么
總結
以上是生活随笔為你收集整理的python中get和set使用_Python对象属性的set和get方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 瞎猫捉死老鼠下一句是什么呢?
- 下一篇: 页面自动获取焦点影响页面切换效果_Rea