目录
1、装饰器@property的介绍
定义:装饰器@property是用来修饰方法,主要有一下两个作用:
- 用于创建只读属性
- 修饰方法,像属性一样访问方法
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))
结果: