不修改原来函数的基础上,增加新功能, 装饰器让你在一个函数的前后去执行代码。 它们封装一个函数,并且用这样或者那样的方式来修改它的行为。
如:要实现一个功能
解释:
“a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)”
a_new_decorator(a_function_requiring_decoration)把函数作为一个参数 传递给另一个函数
a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration) 之后再进行赋值,a_function_requiring_decoration 可以随便取名,再进行调用
使用装饰器
通过装饰器 @a_new_decorator
实现 a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)
使用装饰器之后,为了不改变原有函数名,通过调用python中一个函数functools.wraps
接受多个参数
装饰器使用场景,如授权,收集日志