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

  • 相关阅读:
    范德蒙矩阵相关
    bat运行exe程序
    github 用token远程连接(三)
    为什么将样本方差除以N1?
    Git commit格式 详解(二)
    C++中this与*this的区别
    函数末尾加入const的作用
    git 使用小补充(四)
    人工智能 机器学习
    机器学习分类
  • 原文地址:https://www.cnblogs.com/baxianhua/p/10812820.html
Copyright © 2011-2022 走看看