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

前端之家收集整理的这篇文章主要介绍了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")

猜你在找的Python相关文章