假设我有一些函数接受一个数组并将每个元素更改为0.
def function(array):
for i in range(0,len(array)):
array[i] = 0
return array
我想测试这个函数在随机数组上运行需要多长时间,我希望生成timeit测试的OUTSIDE.换句话说,我不想将生成数组所花费的时间包括在内.
我首先在变量x中存储一个随机数组并执行:
timeit.timeit("function(x)",setup="from __main__ import function")
但这给了我一个错误:NameError:未定义全局名称’x’
我怎样才能做到这一点?
解决方法:
从__main__导入x:
timeit.timeit("function(x)", setup="from __main__ import function, x")
就像函数一样,x是__main__模块中的名称,可以导入到timeit设置中.