Python装饰器的定义、使用简单记录如下:
1、装饰器的定义:
在代码运行期间动态增加功能的方式,称之为“装饰器”
2、装饰器的作用:
本质上是一个Python函数或类,可以让其他函数或类在不需要任何代码修改的前提下增加额外的功能,装饰器的返回值也是一个函数/类对象。简单的说,装饰器的作用就是为已经存在的对象添加额外的功能
3、装饰器的使用场景:
- 有切面需要的场景,比如插入日志、性能测试、事务处理、缓存、权限校验等场景
4、装饰器的使用方式
- 负责把一个方法变成属性调用;
- 可以把一个getter方法变成属性,@property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值;
- 只定义getter方法,不定义setter方法就是一个只读属性
5、通过一个例子来加深对@property装饰器的理解:利用@property给一个Screen对象加上width和height属性,以及一个只读属性resolution。
代码实现如下:
class Screen(object):
@property
def width(self):
return self._width
@width.setter
def width(self,value):
self._width = value
@property
def height(self):
return self._height
@height.setter
def height(self,values):
self._height = values
@property
def resolution(self):
return self._width * self._height
s = Screen()
s.width = 1024
s.height = 768
print('resolution = ',s.resolution)