Discuss / Python / mark2

mark2

Topic source

# -*- coding: utf-8 -*-

import functools, time

def metric(fn):

    @functools.wraps(fn)

    def wrapper(*args, **kw):

        tStartTime = time.time()

        r = fn(*args, **kw)

        tEndTime = time.time()

        print('%s executed in %s ms' % (fn.__name__, tEndTime - tStartTime))

        return r

    return wrapper

# 测试

@metric

def fast(x, y):

    time.sleep(0.0012)

    return x + y;

@metric

def slow(x, y, z):

    time.sleep(0.1234)

    return x * y * z;

f = fast(11, 22)

s = slow(11, 22, 33)

if f != 33:

    print('测试失败!')

elif s != 7986:

    print('测试失败!')


  • 1

Reply