
python如何计算运行时间
用户关注问题
我想知道怎样用Python来计算一段代码运行所需的时间,有没有简便的方法?
使用time模块测量代码运行时间
Python的time模块提供了time()函数,可以获取当前时间戳。执行代码前调用time.time()记录起始时间,代码执行完毕后再次调用time.time()获得结束时间,两者相减即可得到运行时间。示例:
import time
start = time.time()
运行代码
end = time.time()
print('运行时间:', end - start, '秒')
我希望用更加精确或者方便的方式来统计Python代码的执行时间,有推荐吗?
使用timeit模块进行准确计时
timeit模块专为测量小段代码性能设计,它通过多次执行代码来计算平均时间,避免了一些系统干扰。使用示例:
import timeit
execution_time = timeit.timeit('your_code()', setup='from main import your_code', number=1000)
print(f'平均运行时间: {execution_time / 1000} 秒')
这样可以获得代码更稳定的运行时间估计。
有没有简便的方法在Python函数执行时自动统计并输出运行时间?
借助装饰器实现函数运行时间统计
可以定义一个装饰器,用于包装函数,在函数执行前后记录时间并计算差值。例如:
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f'{func.name}运行时间: {end - start}秒')
return result
return wrapper
@timer
def example():
# 代码逻辑
pass
调用example()时会自动输出运行时间,方便对多个函数做性能监测。