import functools def log(arg): if isinstance(arg, str): def decorator(func): @functools.wraps(func) def wrapper(*args, **kw): print(arg) print('begin call') fn = func(*args, **kw) print('end call') return fn return wrapper return decorator else: @functools.wraps(arg) def wrapper(*args, **kw): print('begin call') fn = arg(*args, **kw) print('end call') return fn return wrapper @log def f1(): print('f1') f1() @log('execute') def f2(): print('f2') f2()
Sign in to make a reply
用户6182518782_73465