首页 > 代码库 > Python @property 属性
Python @property 属性
Python @property 修饰符
python的property()函数,是内置函数的一个函数, 会返回一个property的属性: 可以在以下网页查看它的描述:property
文档上面说property()作为一个修饰符, 这会创建一个只读的属性.
class Parrot: def __init__(self): self._voltage = 100000 @property def voltage(self): """Get the current voltage.""" return self._voltage
在这里面, @property修饰符会将voltage()方法转变为一个对于只读的属性"getter", 它还会将voltage的docstring设置为"Get the current voltage"
class C: def __init__(self): self._x = None @property def X(self): """I‘m the ‘x‘ property.""" return self._x @X.setter def X(self, value): self._x = value @X.deleter def X(self): del self._x c = C() c.X = 2 print(c.X) print(c._x) # 2 # 2
这个代码也能够使用非修饰符的方法来写, 请看下面
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‘m the ‘x‘ property.") c = C() c.X = 2 print(c.X) print(c._x) # 2 # 2
这两段代码的意思, 就是通过property()设置了一个管理self._x的属性的函数, 以后管理_x, 都可以通过X这个property对象.
Python @property 属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。