我timeit在Python中玩过,遇到了一个奇怪的问题。
我定义一个简单的函数add。 timeit当我传递add两个字符串参数时,可以工作。但是ValueError: stmt is neither a string nor callable当我传递add两个int参数时,它会增加。
>>> import timeit
>>> def add(x,y):
... return x + y
...
>>> a = '1'
>>> b = '2'
>>> timeit.timeit(add(a,b))
0.01355926995165646
>>> a = 1
>>> b = 2
>>> timeit.timeit(add(a,b))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/anaconda/lib/python3.6/timeit.py", line 233, in timeit
return Timer(stmt, setup, timer, globals).timeit(number)
File "/anaconda/lib/python3.6/timeit.py", …Run Code Online (Sandbox Code Playgroud)