python 装饰器
python装饰器用于后期向函数添加功能。而不改变代码
装饰器传入的参数是func
decorator就是一个返回函数的高阶函数
为了原函数不受影响def 内部要加def 一个wrapper,而 decorator 需要参数(text)就在外部加def一个函数
1 import functools 2 3 def log(text): 4 def decorator(func): 5 @functools.wraps(func) 6 def wrapper(*args, **kw): 7 print('%s %s():' % (text, func.__name__)) 8 return func(*args, **kw) 9 return wrapper 10 return decorator
functools 是模块,为了用@functools.wraps命令。在最后一层包装的上边。目的为了return的func._name_ 是修饰的func而不是wrapper
@功能是
@log def now()
now= log(now)