Python np.function与function的区别

Python np.function与function的区别,python,numpy,Python,Numpy,我们可以导入numpy并将其功能直接用作: from numpy import * a = arraay([1,2,3]) # and it works well. 为什么有些人使用以下方法 import numpy as np a= np.array([1,2,3]) 这是一个整洁但又一致的问题:您可能有多个来自不同模块的同名函数(例如,在Numpy中有一个名为“random”的函数,但在其他软件包(如SciPy)中也有),因此指出您使用的确切函数是来自哪个确切模块是很重要的。有一个很

我们可以导入numpy并将其功能直接用作:

from numpy import *

a = arraay([1,2,3]) # and it works well.
为什么有些人使用以下方法

import numpy as np

a= np.array([1,2,3])

这是一个整洁但又一致的问题:您可能有多个来自不同模块的同名函数(例如,在Numpy中有一个名为“random”的函数,但在其他软件包(如SciPy)中也有),因此指出您使用的确切函数是来自哪个确切模块是很重要的。有一个很好的解释,并强调了代码可读性。

这是一个整洁的问题,但也是一致性的问题:您可能有多个来自不同模块的同名函数(例如,在Numpy中有一个名为“random”的函数,但在其他包(如SciPy)中也有)所以很重要的一点是要指出你使用的是哪个精确模块中的哪个精确函数。有一个很好的解释,并强调了代码的可读性。

区别很简单:
从numpy导入*
将顶级numpy模块中的所有名称导入当前的“模块”(命名空间)<如果您使用
np.xxx
,code>importnumpyasnp将使顶级numpy模块可用

但是,有一个原因不应该从任何模块导入中使用
*
:它可能只是覆盖现有名称。例如,NumPy有自己的
any
max
all
min
函数,这些函数将很高兴地隐藏内置Python
any
max
、。。。函数(一个非常常见的“gotcha”)


我的建议是:避免从numpy导入
*
,即使这看起来比一直键入
np要省力。

区别很简单:
from numpy import*
将顶级numpy模块中的所有名称导入当前的“模块”(命名空间)<如果您使用
np.xxx
,code>importnumpyasnp将使顶级numpy模块可用

但是,有一个原因不应该从任何模块导入中使用
*
:它可能只是覆盖现有名称。例如,NumPy有自己的
any
max
all
min
函数,这些函数将很高兴地隐藏内置Python
any
max
、。。。函数(一个非常常见的“gotcha”)


我的建议是:避免从numpy导入
*
,即使这看起来比一直键入
np要省力。

请看第二个导入,如果某些库具有相同的函数名,它会使名称空间保持独立和清晰。请看第二个导入,如果某些库具有相同的函数名,它会使名称空间保持独立和清晰。