装饰器本身就是函数,其作用就是给其它函数提供额外的附加功能,不会修改被装饰函数的内容也不会修改被装饰函数的引用
函数其实也是‘变量’
def log(func):
def wrapper(*args,**kwargs):
print('call now......")
func(*args,**kwargs)
return wrapper
@log
def now(*args,**kwargs):
print('this is ok')