装饰器是一种以任何方式改变、增强或改变一个函数工作方式的方法。
装饰器的定义是在函数定义之前,用@ 符号跟装饰器名称。
例子。
@logtime
def hello():
print('hello!')
这个hello 函数分配了logtime 装饰器。
每当我们调用hello() ,这个装饰器就会被调用。
装饰器是一个函数,它接收一个函数作为参数,将该函数包裹在一个内部函数中,执行它必须做的工作,并返回该内部函数。换句话说。
def logtime(func):
def wrapper():
# do something before
val = func()
# do something after
return val
return wrapper