Gar*_*net 4 python numpy python-import
我不知道导入模块的正确方法。
我有一个初始化代码,进行一些初步计算等的主文件。我还有5个函数f1,f2,... f5。主要代码和所有功能都需要Numpy。
如果我在主文件中定义了所有函数,则代码可以正常运行。(与导入:import numpy as np)
如果将函数放在单独的文件中,则会收到错误消息:
Error : Global name 'linalg' is not defined.
什么是导入模块以便函数f1-f5可以访问Numpy功能的正确方法?
就像其他答案所说的那样,您需要将numpy导入每个调用Numpy函数的文件中。但是,如果您没有在主模块中使用它,则无需将其导入到主模块中。这是一个简单的例子。假设您有一个包含函数的文件,该文件名为myFunc.py myFunc.py:
import numpy as np
def f1(a): # a is a numpy multidimensional array
z = np.array(a)
flat = z.ravel()
flat = flat.tolist()
return flat
Run Code Online (Sandbox Code Playgroud)
然后可以在主文件中执行以下操作
import myFunc as mf
mf.f1([[4,67,8],[7,9,7]])
Run Code Online (Sandbox Code Playgroud)
您的输出将是:
[4, 67, 8, 7, 9, 7]
Run Code Online (Sandbox Code Playgroud)
因此,您将列表传递给函数,将其转换为函数中的numpy数组,然后将答案作为列表返回。如果返回一个numpy数组,则会出现错误。