property 类方法变属性
Posted kongzhagen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了property 类方法变属性相关的知识,希望对你有一定的参考价值。
函数作用: 在新式类中返回属性值。
语法 :
class property([fget[, fset[, fdel[, doc]]]])
- fget -- 获取属性值的函数
- fset -- 设置属性值的函数
- fdel -- 删除属性值函数
- doc -- 属性描述信息
示例:
class C: 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, "I am the x Property !") 注意: 如果c是C的实例化。 c.x 将触发getter c.x=value 将触发setter del c.x 将触发 deleter 如果给定 doc 参数,其将成为这个属性值的 docstring,否则 property 函数就会复制 fget 函数的 docstring(如果有的话)。
创建属性的更简便方法, 将property函数用作装饰器。
class C: def __init__(self): self._x = None @property def x(self): """创建属性x, 当执行c.x时调用""" return self._x @x.setter def x(self, value): """创建属性x的setter功能", 当执行c.x=value时调用""" self._x = value @x.deleter def x(self): """创建属性x的deleter功能, 当执行del c.x时调用""" del self._x