#兼容 @metric 和 @metric("execute")
from inspect import isfunction
def metric(*args):
def wrap(fn): @functools.wraps(fn) def decorator(*args, **kw): start = time.time() val = fn(*args,**kw) end = time.time() print('%s executed in %s ms' % (fn.__name__, (end-start) )) return val return decorator if isfunction(args[0]): return wrap(*args) else: return wrap
Sign in to make a reply
程序员_小迪
#兼容 @metric 和 @metric("execute")
from inspect import isfunction
def metric(*args):