计算代码运行时间--高级优化版本--装饰器

示例代码:

import time


def cal_time(fn):
    def inner():
        start_time = time.time()
        fn() # 调用原始函数
        end_time = time.time()
        print("程序一共执行了%s" %(end_time - start_time) + '')

    return inner  # 返回内部inner函数的引用


@cal_time  # 相当于 cal_time(func)
def func():
    x = 1
    for i in range(1,100000):
        x *= i
    print(x)


f = func # 调用的是装饰器中的内部inner函数
print(f) # 调用的是inner函数<function cal_time.<locals>.inner at 0x0000026B5C052DC8>
f()  # 调用的是func函数
View Code

 运行结果:

原文地址:https://www.cnblogs.com/yujiemeigui/p/14612146.html