【发布时间】:2011-01-12 23:23:46
【问题描述】:
我创建了一个模块,它将在几个 python 脚本中使用。结构如下:
主文件:
import numpy as np
from mymodule import newfunction
f = np.arange(100,200,1)
a = np.zeros(np.shape(f))
c = newfunction(f)
mymodule.py:
def newfunction(f):
import numpy as np
b = np.zeros(np.shape(f))
return b
if __name__ == "__main__":
import numpy as np
不介意这个程序的功能,但问题是当我运行它时,我得到“NameError: global name 'zeros' is not defined”。
我在这里错过了什么?
【问题讨论】:
-
也许我在这里遗漏了一些东西,但是......为什么不将导入粘贴在 mymodule.py 的顶部?
-
您的错误不可能来自您的代码:在任何地方都没有使用全局“零”。虽然有一个全局“范围”,所以这应该是错误:-)
-
我也试过了......同样的错误:/我试图在模块顶部(函数外)和函数内本地插入“import numpy as np”。
-
@williamx:你需要使用
np.arange,而不是arange。 -
在您最近的编辑之后,它对我有用。请发布您正在运行的代码,即复制粘贴它。