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
    

      

  • 相关阅读:
    12月15日,progress_dispaly
    Android studio和Genymotion-VirtualBox的配合使用
    JDK7动态代理源码分析
    跟踪mqttv3源码(二)
    跟踪mqttv3源码(一)
    Spring自定义标签
    Eclipse发布Maven项目到远程服务器
    结合实际项目分析pom.xml
    Maven的安装环境配置
    PHP7新特性
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/13054082.html
Copyright © 2011-2022 走看看