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
    

      

  • 相关阅读:
    pandas 之 set_index
    python string 之 format
    python 数组反序的方法
    python之dict
    python string 之 format, join, split
    Kalman Filter
    python 读取 xlsx
    python pandas 对各种文件的读写 IO tools
    Sorting Rows In pandas Dataframes
    python---time 相关, str 转timestamp
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/13054082.html
Copyright © 2011-2022 走看看