我们可以导入numpy并直接使用它的函数:
from numpy import *
a = arraay([1,2,3]) # and it works well.
为什么有些人会使用以下方法?
import numpy as np
a= np.array([1,2,3])
答案 0 :(得分:4)
区别很简单:from numpy import *
将顶级NumPy模块中的所有名称导入到当前的“模块”(命名空间)中。如果您使用import numpy as np
,np.xxx
将只提供顶级NumPy模块。
但是,有一个原因是您不应该使用from any_module import *
:它可能只是覆盖现有名称。例如,NumPy有自己的any
,max
,all
和min
函数,它们会很好地影响内置Python any
,{{1} },...函数(一个非常常见的“陷阱”)。
我的建议:避免使用max
,即使看起来不像点击from numpy import *
那么费力!
答案 1 :(得分:1)
这是一个整洁而且一致的问题:你可能有不同模块中具有相同名称的多个函数(例如,在Numpy中有一个名为“random”的函数,但在SciPy等其他软件包中也是如此)所以表示它很重要您正在使用哪个确切的模块。 This link有一个很好的解释,并且也提到了代码可读性。