def metric(fn): @functools.wraps(fn) def wrapper(args, **kw): start = time.time() rs = fn(args, **kw) end = time.time() print('%s executed in %s ms, value is %s' % (fn.name, end-start, rs)) return rs return wrapper
@metric
def fast(x, y): time.sleep(1) return x + y
def slow(x, y, z): time.sleep(1) return x y z
f = fast(11, 22) s = slow(11, 22, 33) if f != 33: print('测试失败!') elif s != 7986: print('测试失败!') else: print('测试成功')
Sign in to make a reply
三心二易我不会
def metric(fn): @functools.wraps(fn) def wrapper(args, **kw): start = time.time() rs = fn(args, **kw) end = time.time() print('%s executed in %s ms, value is %s' % (fn.name, end-start, rs)) return rs return wrapper
测试
@metric
def fast(x, y): time.sleep(1) return x + y
@metric
def slow(x, y, z): time.sleep(1) return x y z
f = fast(11, 22) s = slow(11, 22, 33) if f != 33: print('测试失败!') elif s != 7986: print('测试失败!') else: print('测试成功')