首页 > 代码库 > property属性[Python]

property属性[Python]

一、property解释

  根据文档资料解释:

property([fget[, fset[, fdel[, doc]]]])
Return a property attribute for new-style classes (classes that derive from object)

  使用这个内建函数时,类必须继承object,才有效。

  property有可选参数fget, fset, fdel, doc。fget是获取值函数,fset是设置函数值,fdel是删除函数,doc文档说明。

二、例子

class C(object):    def __init__(self):        self.__x = None    def getx(self):        return self.__x    def setx(self, value):        self.__x = value    def delx(self):        del self.__x    x = property(getx, setx, delx, ‘‘)c = C()c.x = 1print c.xdel c.x

另外一种表达方式,property作为一种装饰器使用:

class Parrot(object):    def __init__(self):        self._voltage = 10000    @property    def voltage(self):        return self._voltage    @voltage.setter    def voltage(self, value):        self._voltage = value    @voltage.deleter    def voltage(self):        del self._voltagep = Parrot()print p.voltagep.voltage = 1del p.voltage

property函数使用对类属性的读取更简洁,隐藏了变量,保证了数据的安全。