我不知道导入模块的正确方法。
我有一个主文件,用于初始化代码、进行一些初步计算等。 我还有 5 个函数 f1、f2、... f5。主要代码和所有功能都需要 Numpy。
如果我在主文件中定义所有函数,代码运行良好。
(导入:import numpy as np
)
如果我将函数放在一个单独的文件中,我会得到一个错误:
错误:未定义全局名称“linalg”。
导入模块以使函数 f1 - f5 可以访问 Numpy 功能的正确方法是什么?
最佳答案
正如其他答案所说,您需要将 numpy 导入到调用 Numpy 函数的每个文件中。但是,如果您不在主模块中使用它,则无需将其导入主模块。这是一个简单的例子。假设你有一个名为 myFunc.py 的文件,其中包含你的函数 我的函数.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
然后在你的主文件中你可以做这样的事情
import myFunc as mf
mf.f1([[4,67,8],[7,9,7]])
您的输出将是:
[4, 67, 8, 7, 9, 7]
所以你将一个列表传递给你的函数,在你的函数中将它转换为一个 numpy 数组,然后将答案作为一个列表返回。如果你返回一个 numpy 数组,你会得到一个错误。
关于python - 将 Numpy 导入函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11788950/