@property 取代getter setter方法
阿新 • • 發佈:2017-11-07
一行 spa else blog ini style 整型數字 turn sin
利用私有屬性
class Money(object): def __init__(self): self.__money = 0 def getMoney(self): return self.__money def setMoney(self, value): if isinstance(value, int): self.__money = value else: print("error:不是整型數字")
定義一個property屬性
classMoney(object): def __init__(self): self.__money = 0 def getMoney(self): return self.__money def setMoney(self, value): if isinstance(value, int): self.__money = value else: print("error:不是整型數字") money = property(getMoney, setMoney) #定義一個屬性,當對這個money設置值時調用setMoney,當獲取值時調用getMoney a = Money() a.money = 101 # 調用setMoney方法 print(a.money) # 調用getMoney方法
使用@property
class Money(object): def __init__(self): self.__money = 0 @property #使用裝飾器對money進行裝飾,那麽會自動添加一個叫money的屬性,當調用獲取money的值時,調用此下一行的方法 def money(self):return self.__money @money.setter #使用裝飾器對money進行裝飾,當對money設置值時,調用下一行的方法 def money(self, value): if isinstance(value, int): self.__money = value else: print("error:不是整型數字") a = Money() a.money = 100 print(a.money)
@property 取代getter setter方法