为什么Python的timeit()无限执行?

5 投票
2 回答
1489 浏览
提问于 2025-04-17 09:50

当你尝试使用Python自带的'timeit'模块时,像这样:

timeit.Timer('print "hi"').timeit()

它会打印出多行内容;这是为什么呢?它一直在不停地打印“hi”:

hi
hi
hi
hi
...

2 个回答

8

如果你查看一下这个文档,你会发现默认情况下,这个语句会执行1000000次。

如果你只想让它执行2次,你可以在Timer类的timeit()方法里传入一个2。

timeit.Timer('print "hi"').timeit(2)
14

timeit 是用来测试非常短的代码片段的工具,它会多次运行这些代码,然后取个平均值。默认情况下,它会运行 1000000 次。

你可以通过以下方式来改变这个设置:

timeit.Timer('print "hi"').timeit(number=1)

撰写回答