【python基礎】保護物件的屬性
阿新 • • 發佈:2018-12-09
如果有一個物件,當需要對其進行修改屬性時,有2種方法
- 物件名.屬性名 = 資料 ---->直接修改
- 物件名.方法名() ---->間接修改
為了更好的儲存屬性安全,即不能隨意修改,一般的處理方式為
- 將屬性定義為私有屬性
- 新增一個可以呼叫的方法,供呼叫
class People(object): def __init__(self,name,age): self.__name = name self.age = age def getInfo(self): print(self.__name,self.age) def setInfo(self,newname): if len(newname) <=10: self.__name = newname else: print("名字太長了") p = People("張三",18) p.getInfo() #直接修改例項物件的公有屬性 p.age = 20 #通過方法修改屬性,私有屬性也可以改 p.setInfo("李四") p.getInfo() 張三 18 李四 20
總結
- Python中沒有像C++中public和private這些關鍵字來區別公有屬性和私有屬性
- 它是以屬性命名方式來區分,如果在屬性名前面加了2個下劃線'__',則表明該屬性是私有屬性,否則為公有屬性(方法也是一樣,方法名前面加了2個下劃線的話表示該方法是私有的,否則為公有的)。