软件测试精进之路百人计划

Python之——property

2018-08-08  本文已影响21人  cynthia猫

@property成为属性函数,可以对属性赋值时做必要的检查,并保证代码的清晰短小,主要有2个作用

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

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

    @num.setter
    def num(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print("error:不是整型数字")

t = Money()
t.num = 100
print (t.num)

注意:@property放在哪个函数前面,这个函数就是getter,而且用的时候,就是这个函数名。如上例,就是num。
那么这个函数名.setter放在哪个函数前面,这个函数就是setter。如上例,就是@num.setter
所以你不要看我给Money类定义的时候是用了__money,为啥后面赋值和调用的时候用的都是num呢,这和setter、getter的函数设置有关。

上一篇 下一篇

猜你喜欢

热点阅读