将Numpy导入函数

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功能的正确方法?

emh*_*art 5

就像其他答案所说的那样,您需要将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数组,则会出现错误。