import functools def log(fn): @functools.wraps(fn) def wrapper(*args, **kw): print('begin call %s():' % fn.__name__) fn(*args, **kw) print('end call %s():' % fn.__name__) return wrapper @log def now(): print('2017-03-25') now()
import functools def log(text=None): def decorator(fn): @functools.wraps(fn) def wrapper(*args, **kw): if text == None: print("%s():" % fn.__name__) else: print("%s %s():" % (text, fn.__name__)) return fn(*args, **kw) return wrapper return decorator @log('execute') def _on(): print('2017-12-05') @log() def _off(): print('2017-12-05') _on() _off()
Sign in to make a reply
月之轮回丶
第一题
第二题