# 按数字编号顺序看注释。
import time # 1.导入time模块
def calcu_time(f): # 2.定义函数和形参。
# 5.将test1作为实参传递给calcu_time函数的f形参。
def test_in(): # 6.定义函数。10.执行函数。
start = time.time() # 11.调用time模块的time()方法,把时间赋给start,记录开始时间。
f() # 12.调用函数,此时代表调用test1函数,(因为装饰器把test1函数作为实参传递给了形参f。)
# 16.返回到函数调用f()处,继续往下执行代码。
end = time.time() # 17.调用time模块的time()方法,把时间赋给start,记录结束时间
print(f'时间差为{end-start}') # 18.打印输出时间差
return test_in # 7.将test_in作为值,返回到函数调用处test1位置,
@calcu_time # 3.装饰器,等同于:test1 = calcu_time(test1),定义test1实参,并寻找。
# 13.装饰器接收test1函数调用指令,准备执行test1函数内部命令。
def test1(): # 4.定义函数,装饰器找到test1,返回到calcu_time()函数定义处。
# 8.将test_in作为值给test1。
sum_num = 0 # 14.赋值变量为0,并计算和值。
for num in range(1, 1000001): # 15.循环求和,并打印输出,如下代码
sum_num = sum_num + num
print(f'和为{sum_num}')
test1() # 9.调用函数,此时代表调用test_in函数。
# 19.返回到函数调用处,程序结束。
python装饰器,计算程序运行时间
Python装饰器与时间计算:函数性能测试,
最新推荐文章于 2024-09-11 17:46:50 发布
本文通过Python中的装饰器和time模块,展示如何测量test1函数的执行时间,以及在for循环中计算1到1000000的和的过程。
426

被折叠的 条评论
为什么被折叠?



