Python 加载numpy包的正式方式是什么?

Python 加载numpy包的正式方式是什么?,python,numpy,Python,Numpy,我正在阅读Scipy和Numpy的官方文档,它们显示了使用导入的默认方式: >>> import numpy as np 但有时我在代码和演示文稿中看到人们使用这种方式加载Numpy软件包: >>> from numpy import * 我知道加载这个包的第二种方法简化了一些任务,但正如我在问题中所说的,正式的方法是什么?(尽管文档中显示了默认的方式)或者这是个人喜好?我将回答这个问题,而不是以意见为基础投票结束,因为以下

我正在阅读ScipyNumpy的官方文档,它们显示了使用导入的默认方式:

        >>> import numpy as np
但有时我在代码和演示文稿中看到人们使用这种方式加载Numpy软件包:

        >>> from numpy import *

我知道加载这个包的第二种方法简化了一些任务,但正如我在问题中所说的,正式的方法是什么?(尽管文档中显示了默认的方式)或者这是个人喜好?

我将回答这个问题,而不是以意见为基础投票结束,因为以下问题:

>>> import numpy as np
>>> bool(any(x < 3 for x in [10,20,30]))
False
>>> from numpy import *
>>> bool(any(x < 3 for x in [10,20,30]))
True
公平地说,有时候当我以交互方式工作时,我会使用星型导入——但这只是为了在探索过程中的方便,而不是在实际代码中


因此,
import numpy As np
远远好于从numpy import*或从pylab import*或使用任何这样做的环境,因为除非您已经知道危险,否则很可能会在代码中引入错误。您总是可以直接导入特定函数(
从numpy导入sin、cos等),有时这会使一些公式看起来更漂亮。

我将回答这个问题,而不是投票以基于意见的方式关闭,因为存在以下问题:

>>> import numpy as np
>>> bool(any(x < 3 for x in [10,20,30]))
False
>>> from numpy import *
>>> bool(any(x < 3 for x in [10,20,30]))
True
公平地说,有时候当我以交互方式工作时,我会使用星型导入——但这只是为了在探索过程中的方便,而不是在实际代码中


因此,
import numpy As np
远远好于从numpy import*
或从pylab import*或使用任何这样做的环境,因为除非您已经知道危险,否则很可能会在代码中引入错误。您总是可以直接导入特定函数(
从numpy导入sin、cos等),有时这会使一些公式看起来更漂亮。

将numpy导入为np
允许您通过说
np.method()
来调用numpy的方法。如果只使用
import numpy
,则可以通过说
numpy.method()
来调用numpy的方法。如果您使用numpy import*
中的
,您可以通过调用
方法()
来单独使用这些方法,但不应该使用*,您应该只通过从numpy import方法导入所需的特定方法,然后使用
方法()
来调用方法。就个人而言,我建议使用前两种方法之一(
import numpy as np
import numpy

import numpy as np
允许您通过说
np.method()
来调用numpy方法。如果只使用
import numpy
,则可以通过说
numpy.method()
来调用numpy的方法。如果您使用numpy import*
中的
,您可以通过调用
方法()
来单独使用这些方法,但不应该使用*,您应该只通过从numpy import方法导入所需的特定方法,然后使用
方法()
来调用方法。就个人而言,我建议使用前两种方法之一(
importnumpyasnp
importnumpy

没有正式的方法。我更喜欢前者,这样就不会污染名称空间。您还可以使用numpy import ndarray中的
将单个名称引入命名空间,因为没有正式的方法。我更喜欢前者,这样就不会污染名称空间。您还可以使用
from numpy import ndarray
将单个名称引入命名空间。我通常使用
IPython--pylab
,但使用关闭
*
导入的选项。识别模块后,所有代码都会更清晰。我通常使用
IPython--pylab
,但带有关闭
*
导入的选项。识别模块后,所有代码都更清晰。