#1 def metric(fn): @functools.wraps(fn) def wrapper(*args,**kw): t1=time.time() fn(*args,**kw) t2=time.time() print('%s executed in %s ms' % (fn.__name__, t2-t1)) return fn(*args,**kw) return wrapper #2 def log(func) : if callable(func) : #判断func是否是函数 @functools.wraps(func) def wrapper(*args,**kw): print('begin call') func(*args,**kw) print('end call') return func(*args,**kw) return wrapper def decorator(fn): @functools.wraps(fn) def wrapper(*args, **kw): print('begin call') fn(*args,**kw) print('end call') print('%s %s():' % (func, fn.__name__)) return fn(*args, **kw) return wrapper return decorator
Sign in to make a reply
°Destiny