码迷,mamicode.com
首页 > 其他好文 > 详细

property 类方法变属性

时间:2020-06-06 13:10:58      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:doc   描述   作用   setter   none   设置   参数   int   简便   

函数作用: 在新式类中返回属性值。

 

语法 :

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

  

 

property 类方法变属性

标签:doc   描述   作用   setter   none   设置   参数   int   简便   

原文地址:https://www.cnblogs.com/kongzhagen/p/13054082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!