首页 > 代码库 > python中property的使用

python中property的使用

记得在cocoa中也有property的概念,python中的property与cocoa里的property好像是差不多的。下面是它的两种用法。

用法一:

class test(object):    def __init__(self):        print "init is calling"        self.a=100    def getX(self):        print "call getX"        return self.a    def setX(self,value):        print "call setX"        self.a=value    x=property(getX,setX)def main():    a = test()    print a.x  #100    a.x=150    print a.x  #150if __name__ == __main__:    main()

getX和setX这两个函数名字可以随便取的。还有一个del方法,不太常用,所以这里就不写了

用法二:

class test(object):    def __init__(self):        print "init is calling"        self.a=100    @property    def x(self):        print "call getX"        return self.a    @x.setter    def x(self,value):        print "call setX"        self.a=valuedef main():    t = test()    print t.x  #100    t.x=150    print t.x  #150if __name__ == __main__:    main()

注意到函数名都改成了x。

python中property的使用