property属性[Python]

it2022-05-08  7

一、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 = 1 print c.x del 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._voltage p = Parrot() print p.voltage p.voltage = 1 del p.voltage

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

转载于:https://www.cnblogs.com/zhuangzebo/p/3876327.html


最新回复(0)