Python property的使用

2018-03-08  本文已影响6人  i_promise

1、

 class Test(object):

     def __init__(self):
         self.__num = 100
     def getNum(self):
         print('------getter-----')
         return self.__num
     def setNum(self, newNum):
         print('-------setter---------')
         self.__num = newNum
     num = property(getNum, setNum)

t = Test()
print(t.num)
t.num = 200   #相当于调用了t.setNum()
print(t.num)  #相当于调用了t.setNum(200)

输出:
------getter-----
100
-------setter---------
------getter-----
200
property的作用:相当于把方法进行了封装,开发者在对属性设置数据的时候更方便

2、

class Money(object):
    def __init__(self):
        self.__money = 0

    @property
    def money(self):
        return self.__money

    @money.setter
    def money(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print('errpr 不是整型数字')

a = Money()
print(a.money)
a.money = 500
print(a.money)
上一篇 下一篇

猜你喜欢

热点阅读