Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Numpy导入函数_Python_Numpy_Python Import - Fatal编程技术网

Python 将Numpy导入函数

Python 将Numpy导入函数,python,numpy,python-import,Python,Numpy,Python Import,我不知道导入模块的正确方法 我有一个初始化代码的主文件,做一些初步计算等。 我还有5个函数f1,f2。。。f5。主代码和所有函数都需要Numpy 如果我在主文件中定义所有函数,代码运行良好。 (导入时使用:将numpy导入为np) 如果我将函数放在一个单独的文件中,我会得到一个错误: 错误:未定义全局名称“linalg”。 导入模块的正确方法是什么,以便函数f1-f5可以访问Numpy功能?您必须在使用模块的每个文件中导入模块。这是否回答了您的问题?正如其他答案所说,您需要将numpy导入到调用

我不知道导入模块的正确方法

我有一个初始化代码的主文件,做一些初步计算等。 我还有5个函数f1,f2。。。f5。主代码和所有函数都需要Numpy

如果我在主文件中定义所有函数,代码运行良好。 (导入时使用:
将numpy导入为np

如果我将函数放在一个单独的文件中,我会得到一个错误:
错误:未定义全局名称“linalg”。


导入模块的正确方法是什么,以便函数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     
然后在主文件中可以执行类似的操作

import myFunc as mf

mf.f1([[4,67,8],[7,9,7]])
您的输出将是:

[4, 67, 8, 7, 9, 7]

因此,将列表传递给函数,将其转换为函数中的numpy数组,然后将答案作为列表返回。如果返回numpy数组,则会出现错误。

import numpy在每个文件的开头,如果导入一次,则不会再次导入,但您将使用名称空间。是。我认为这是重复的,正确的方法是只导入一次。谢谢