Discuss / Python / 交作业

交作业

Topic source

#兼容 @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

  • 1

Reply