Timeit计时python函数

时间:2016-09-07 13:51:01

标签: python python-3.x

我正在尝试计算以下功能,但它显示错误,无法导入名称val_in_range,错误是什么,还有其他方法可以做得更好吗?

import timeit

x = 10000000

def val_in_range(x, val):
    return val in range(x)

print (val_in_range(x,x/2))

timeit.timeit( 'val_in_range(x,x/2)', 'from __main__ import val_in_range, x',  number=10)

输出:

True
Traceback (most recent call last):
  File "python", line 11, in <module>
  File "<timeit-src>", line 3, in inner
ImportError: cannot import name 'val_in_range'

1 个答案:

答案 0 :(得分:2)

替换 timeit.timeit( 'val_in_range(x,x/2)', 'from __main__ import val_in_range, x', number=10)

timeit.timeit(lambda:val_in_range(x,x/2), number=10)

您可以使用print语句直接打印该值。