浅尝装饰器--property装饰器

【写在前面】

  本帖归属于装饰器单元的学习,可以点击关键词‘装饰器’查看其他博文讲解

【正文部分】

  property属性:将类方法用类属性的形式进行调用

class Good:
    def __init__(self,name):
        self.__name = name

    @property
    def name(self):  # 只能由self参数
        return self.__name  # 必须要有返回值

    @property
    def setname(self):
        self.__name = 'Liming'


good = Good('Lihua')
# print(good.__name)  # 报错,无法访问私有属性
print(good.name)
print(good.setname)
print(good.name)
#输出结果
Lihua
None
Liming

结论:

1、property属性的创建过程

  构造装饰器:@property

  装饰过程: property(类方法)

 

2、property属性的应用:

  可以简化流程,对私有属性的获取和设置进行简化。

  (1)测试代码表名类的外部是不能对类的私有属性进行访问的,所以通过property装饰器,实现将类方法装饰成属性的形式,对私有属性进行访问

  (2)由于类外部不能直接访问私有属性,所以可以通过property装饰器,实现更改私有属性的目的。

 

【写在最后】

  property装饰器的第二个作用:对私有属性进行更改,还有需要进行优化的地方,这里的更改是手动更改赋值,应该是有更方方便的方法来实现,譬如调用的时候再调用的位置进行传参设置。先标记一下,以后再来补充,有知道的小伙伴记得call我或留言,感激不尽,一起学习鸭!

 

博主尊重原创,也支持原创,如有侵权,联系博主删帖,转帖请注明出处!

 

posted @ 2019-08-02 15:02  谁用了牧羊少年  阅读(857)  评论(0编辑  收藏  举报