Python timeit模块详解:精准测试代码执行耗时

竹里
竹里
发布时间:2026-10-13 | 2人浏览过
原创

本文详细介绍Python中timeit模块的使用方法,用于精准测量代码执行耗时。通过timeit函数可测试单次或多次运行的时间,结合number参数控制循环次数;repeat函数支持多次重复测试并返回时间列表,取最小值作为最终结果,有效排除系统资源干扰,适用于函数性能评估。

本文旨在讲解Python中timeit模块的具体用法,供读者参考学习。

timeit

一般我们在代码前后分别调用time.time(),通过相减获得运行时长。但Python提供了更专业的计时工具:timeit。

#导入timeit.timeit
from timeit import timeit 

#看执行1000000次x=1的时间:
timeit('x=1')

#看x=1的执行时间,执行1次(number可以省略,默认值为1000000):
timeit('x=1', number=1)

#看一个列表生成器的执行时间,执行1次:
timeit('[i for i in range(10000)]', number=1)

#看一个列表生成器的执行时间,执行10000次:
timeit('[i for i in range(100) if i%2==0]', number=10000)

测试单个函数的执行耗时:

from timeit import timeit

def func():
  s = 0
  for i in range(1000):
    s += i
  print(s)

# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit('func()', 'from __main__ import func', number=1000)
print(t)

该示例演示了函数运行1000次的总耗时。

repeat:

由于计算机后台常有其他程序占用资源,单次运行未必能反映最高效率。因此通常进行多次试验,取最短耗时作为实际执行时间。

from timeit import repeat

def func():
  s = 0
  for i in range(1000):
    s += i

#repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。
t = repeat('func()', 'from __main__ import func', number=100, repeat=5)
print(t) 
print(min(t))

以上内容为本文全部介绍,希望能为读者的学习提供便利,欢迎继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表