python装饰器-测试运行时间

单独写一个函数d1.py

from functools import wraps
import time


def f1(func):
    @wraps(func)
    # functools.wraps 能把原函数的元信息拷贝到装饰器里面的 func 函数中,这使得装饰器里面的 func 函数也有和原函数一样的元信息。 
    def f2():    # 当业务函数f()需要参数时,可以定义在f2()函数中
        begin = time.time()
        func()
        end = time.time()
        print('cost', end - begin)
    return f2

以下是应用

from d1 import f1

@f1
def f():
    s = 0
    for i in range(1000000):
        s += i
    print(s)

f()

你可能感兴趣的:(python)