装饰器
1、要了解装饰器,就需要知道什么是高阶函数,高阶函数就是将函数作为参数赋值给另一个函数
2、Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数
3、decorator是在被装饰的函数前加@函数名的函数来修饰下面的函数
# 被装饰函数
def now():
print(‘2015-3-3’)
想要对被装饰函数添加(修饰)什么功能,就可以写一个特定的函数,然后在被装饰的函数前加@函数名
# 需要装饰其它函数时的新功能函数
def log(func):
def wrapper(*args,**kw):
print(‘call %s(): ’ % func.__name__)
return func(*args,**kw)
return wrapper
完成装饰
@log
def now():
return print(‘2015-3-3’)
调用now()函数,不仅会运行now()函数本身,还会在运行now()函数前打印一行日志:
>>> now()
call now():
2015-3-3
</