python 修饰器@
参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017451662295584
装饰器让函数在不需要做任何代码变动的前提下增加额外功能
# 不带参数的修饰器
import functools
def log(func):
@functools.wraps(func) # 防止依赖函数签名的代码执行出错
def wrapper(*args, **kw): # 这两个参数代表任意参数
print('call %s():' % func.__name__) # 日志
return func(*args, **kw)
return wrapper
@log # 给now添加打印日志的修饰符
def now():
print('2015-3-25')
log函数的功能是给now函数添加一个日志。
# 带参数的修饰器
import functools
def log(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print('%s %s():' % (text, func.__name__))
return func(*args, **kw)
return wrapper
return decorator

浙公网安备 33010602011771号