Python:通用导入

tha*_*ing 2 python numpy python-import

任何人都可以解释哪些'导入'是通用的,所以我不需要写例如:

from numpy import *
import numpy
import numpy as np
from numpy.linalg import *
Run Code Online (Sandbox Code Playgroud)

为什么不import numpyfrom numpy import *从"numpy"中扼杀所有人?

Mic*_*eld 9

我不确定你的意思是"所有来自numpy",但你永远不需要一次使用多种形式import.他们做不同的事情:

方案一: import

import numpy将整个numpy模块带入当前命名空间.然后你可以从那个moudule中引用任何东西作为numpy.dotnumpy.linalg.eig.

方案二: from ... import *

from numpy import *将numpy中的所有公共对象作为本地引用引入当前命名空间.如果程序包包含一个名为的列表,__all__那么此命令也import将在该列表中定义的每个子模块中.

对于numpy的这份名单包括"linalg","FFT","随机","ctypeslib","马"和"文档"我最后一次检查.因此,一旦您运行此命令,您可以调用dotlinalg.eig不调用numpy前缀.

如果您正在寻找一个导入,将包中的每个子模块中的每个符号都拉到您的命名空间中,那么我认为没有.你必须做这样的事情:

from numpy.linalg import *
from numpy.fft import *
from numpy.random import *
from numpy.ctypeslib import *
from numpy.ma import *
from numpy import *
Run Code Online (Sandbox Code Playgroud)

我认为,这是你要避免的.