我创建了一个将在几个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:全局名称'零'未定义”。
我错过了什么?
答案 0 :(得分:3)
mymodule.py没有看到:
import numpy as np
语句(多个)。 Python中的“import”语句与C ++中的#include不同,它只是创建导入模块中包含的新对象字典。如果要在该字典中使用“np”标识符,则必须在那里明确导入它。
关于
if __name__ == "__main__":
import numpy as np
- 仅当您将mymodule.py作为独立脚本执行时才会调用此方法,这可能不属于此问题。
编辑:
OP通过在其函数中添加import numpy as np
来更改示例代码,我的答案是针对原始问题。