1. 程式人生 > >@property 取代getter setter方法

@property 取代getter setter方法

一行 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屬性

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:不是整型數字") 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方法