单独写一个函数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()