• Python 今天抽空学习了@Property


    1.@Property有啥用

     1) @property使方法像属性一样调用

    @property可以把一个实例方法变成其同名属性,以支持.号访问,它亦可标记设置限制,加以规范

    2) @property成为属性函数,可以对属性赋值时做必要的检查,比如在setter方法里加过滤判断条件。

    3) 代码显得相对简洁一些, 相比自定义的get和set方法,property保证了代码的短小精悍,对私有属性的操作代码格式化模块化。

     

    2. @Property原型

    property(fget=None, fset=None, fdel=None, doc=None)

     

    3. 用例子来理解:为什么要用@Property

     改成下面这样

    Python支持高阶函数,可以用装饰器函数把 get/set 方法“装饰”成属性调用:

    第一个sala(self)是get方法,用@property装饰,第二个sala(self, sala)是set方法,用@sala.setter装饰,@sala.setter是前一个@property装饰后的副产品。

    现在,就可以像使用属性一样设置sala了

     

     

     

     

     

    4. 用例子来理解:@Property对是私有属性进行操作

     看下面

     

    参考:

    https://www.cnblogs.com/Lambda721/p/6132206.html

    https://blog.csdn.net/qq_26442553/article/details/82222572

    http://www.cnblogs.com/crwy/p/6852347.html

    https://www.jb51.net/article/134148.htm

  • 相关阅读:
    文件操作
    匿名函数
    函数
    运算符
    (模板)扩展kmp算法(luoguP5410)
    poj2406(求字符串的周期,kmp算法next数组的应用)
    poj1961(kmp算法next数组应用)
    hdoj1711(kmp算法)
    (模板)poj3461(kmp模板题)
    fzu1704(高斯消元法解异或方程组+高精度输出)
  • 原文地址:https://www.cnblogs.com/baxianhua/p/10812820.html
Copyright © 2020-2023  润新知