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
    

      

  • 相关阅读:
    小程序05 深入小程序框架
    小程序04 小程序框架
    小程序03 第一个小程序
    小程序02 wxml和wxss
    POJ3278 Catch That Cow
    POJ2251 Dungeon Master
    POJ1321棋盘问题
    Java ClassLoad详解
    十大经典排序算法最强总结(含JAVA代码实现)
    Task底层实现原理探秘
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/13054082.html
Copyright © 2011-2022 走看看