浅谈property属性

什么是property属性?

简单来说:一种用起来像是使用的实例属性一样的特殊属性,可以对应于某个方法

python中Property属性的功能是:property 属性内部进行一系列的逻辑运算,最后返回运算结果。

Property 属性的定义和调用要注意以下几点:

  • 定义时,在实例方法的基础上,添加 @property 装饰器;并且仅有一个self 参数
  • 调用时,无需括号    
# coding = utf-8
class Work(object):
    @property
    def work_1(self):
        return "work_1 ===> property"
    @work_1.setter
    def work_1(self, value):
        print('work_1 ===> setter')
    @work_1.deleter
    def work_1(self):
        print('work_1 ===> deleter')

w = Work()

print(w.work_1)    # 自动执行 @property 修饰的 work_1 方法,并获取方法的返回值
w.work_1 = 999   # 自动执行 @work_1.setter 修饰的 work_1 方法,并将  999 赋值给方法的参数
del w.work_1       # 自动执行 @work1.deleter 修饰的 work_1 方法


经典类中的属性只有一种访问方式,其对应被 @property 修饰的方法

新式类中的属性有三种访问方式,

并分别对应了三个被@property、@方法名.setter、@方法名.deleter修饰的方法






你可能感兴趣的:(浅谈property属性)