import functools def log(arg): text = '' if callable(arg) else arg def decorator(func): @functools.wraps(func) def wrapper(*args,**kw): print('before ' + text) func(*args,**kw) print('after '+text) return wrapper return decorator(arg) if callable(arg) else decorator @log def test(): print( '呵呵呵') @log('execute') def test2(): print('哈哈哈') test() test2()
是不是少加了个返回值
改:
print('before ' + text) result = func(*args,**kw) #缓存 print('after '+text) return result; #返回
Sign in to make a reply
桑桑喵喵233