统计函数运行时间的python脚本
这是一个统计函数运行时间的实用脚本,其中用到了函数的嵌套、链式传输参数,以及修饰器。
import time
# 定义一个装饰器timer,用于计算被装饰函数的运行时间
def timer(func):
print("执行了timer")
def wrapper(*args, **kwargs):
start = time.time()
out = func(*args, **kwargs)
end = time.time()
print("耗时", end - start)
return out
return wrapper
# 使用timer装饰器装饰函数
@timer
def func1(n):
print("执行了func1")
for i in range(n):
i += 1
return i
x = func1(10000000) # 由于使用了装饰器,自动调用被装饰的函数
# @timer 是装饰器语法,等价于 func1 = timer(func1)。
print("func1输出=",x)
# 不使用装饰器直接调用函数
def func2(n):
print("执行了func2")
for i in range(n):
i += 1
return i
x = timer(func2)(10000000) # 通过链式调用,传递参数
print("func2输出=",x)
# 输出结果:
"""
执行了timer
执行了func1
耗时 0.4021315574645996
func1输出= 10000000
执行了timer
执行了func2
耗时 0.3547825813293457
func2输出= 10000000
"""