python定义一个装饰器自动测量函数的运行时间

#!/usr/bin/python
# -*-coding:UTF-8-*-

import time
from functools import wraps


def timefn(fn):
    @wraps(fn)
    def measure_time(*args, **kwargs):
        start_time = time.time()
        result = fn(*args, **kwargs)
        end_time = time.time()
        print ("@timefn: %s took %s seconds" % (fn.func_name, str(end_time - start_time)))
        return result

    return measure_time


@timefn
def test_time(num):
    time.sleep(1)
    return num + 5


if __name__ == '__main__':
    print(test_time(2))

你可能感兴趣的:(python,python,装饰器,运行时间)