初始代码如下
import time
def showtime1(f):
def inner():
start1 = time.time()
f()
end1 = time.time()
print('共消耗时间%s' % (end1 - start1))
return inner()
@showtime1
# 引用装饰器函数等价于 f5 = showtime1(f5)
def f5():
print(10*40*50*250)
time.sleep(4)
f5()
原来是装饰器return返回inner结果时多了个(),将其去掉即可
import time
def showtime1(f):
def inner():
start1 = time.time()
f()
end1 = time.time()
print('共消耗时间%s' % (end1 - start1))
return inner
@showtime1
# 引用装饰器函数等价于 f5 = showtime1(f5)
def f5():
print(10*40*50*250)
time.sleep(4)
f5()
结果如下: