zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    ss
    Linux vmstat命令实战详解
    【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖
    mysql 数据库授权(给某个用户授权某个数据库)
    windows下mysql安装包安装
    053(五十五)
    053(五十四)
    053(五十三)
    053(五十二)
    053(五十一)
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/13054082.html
Copyright © 2011-2022 走看看