import functools import time def log(text=None): if isinstance(text,str): def decorator(func): def wrapper(args,**kw): print('start call\n',text) result = func(args,kw) print('end call') return result return wrapper return decorator else: def wrapper(*args,kw): t1 = time.time() print('func %s started at %s ms '%(text.name,t1)) result = text(args,*kw) t2 = time.time() print('func %s ended at %s ms'%(text.name,t2)) t3=t2-t1 print('Time Cost:%s'%t3) return result return wrapper
Sign in to make a reply
艾莉丝家的小妹
import functools import time def log(text=None): if isinstance(text,str): def decorator(func): def wrapper(args,**kw): print('start call\n',text) result = func(args,kw) print('end call') return result return wrapper return decorator else: def wrapper(*args,kw): t1 = time.time() print('func %s started at %s ms '%(text.name,t1)) result = text(args,*kw) t2 = time.time() print('func %s ended at %s ms'%(text.name,t2)) t3=t2-t1 print('Time Cost:%s'%t3) return result return wrapper