Python学习:Python @property 装饰器的使用

目录

1、装饰器@property的介绍

2.示例展示

2.1.创建只读属性

2.2.修饰方法,像属性一样访问方法


1、装饰器@property的介绍

定义:装饰器@property是用来修饰方法,主要有一下两个作用:

  1. 用于创建只读属性
  2. 修饰方法,像属性一样访问方法

2.示例展示

2.1.创建只读属性

class Human(object):
    def __init__(self,value):
        self._age=value

    @property
    def age(self):
        return self._age


if __name__ == '__main__':
    peter=Human(18)
    print("the age of peter is {}".format(peter.age))
    #peter.age=20 #如果要修改属性将会报错

结果:

如果设置属性将会引起 AttributeError: can't set attribute 

2.2.修饰方法,像属性一样访问方法

如果我们想像属性一样访问方法,而不是创建只读属性,可以如下使用

class Human(object):
    def __init__(self,value):
        self._age=value

    @property
    def age(self):
        return self._age

    @age.setter
    def age(self,value):
        self._age=value



if __name__ == '__main__':
    peter=Human(18)
    print("the age of peter is {}".format(peter.age))
    peter.age=20 #修改属性不会报错
    print("the age of peter is {}".format(peter.age))

结果:

猜你喜欢

转载自blog.csdn.net/qq_23345187/article/details/129160298