Python Timeit和“全局名称……未定义”

我有一个用于代码优化的timit函数的问题.例如,我在文件中编写带参数的函数,我们称之为myfunctions.py,其中包含:

def func1(X):
    Y = X+1
    return Y

我在第二个文件test.py中测试了这个函数,我调用了timer函数来测试代码性能(显然是更复杂的问题!),其中包含:

import myfunctions
X0 = 1
t = Timer("Y0 = myfunctions.func1(X0)")
print Y0
print t.timeit()

不计算Y0,即使我注释打印Y0行,也没有定义错误全局名称’myfunctions’.

如果我使用命令指定安装程序

t = Timer("Y0 = myfunctions.func1(X0)","import myfunctions")

现在没有定义错误全局名称’X0′.

有人知道如何解决这个问题吗?非常感谢.

解决方法

您需要设置参数.尝试:

Timer("Y0 = myfunctions.func1(X0)",setup="import myfunctions; X0 = 1")

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。