Skip to main content
 首页 » 编程设计

python之加载 numpy 包的正式方法是什么

2025年05月04日8小虾米

我正在阅读 Scipy 和 Numpy 的官方文档,其中显示了使用导入的默认方式:

        >>> 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 

numpy 有自己的函数,比如 any 和 max 和 min (这些只是那些想到——这并不意味着详尽无遗),它是内置的。 numpy 版本不能很好地处理生成器表达式,并且它们不会警告您它们不兼容。实际上,上面发生的事情是 np.any 正在返回一个生成器,并且 generator 本身 有一个 bool 值 True——这不是你想要的,您想要评估生成器的结果。

>>> np.any(x < 3 for x in [10,20,30]) 
<generator object <genexpr> at 0xb3ba050c> 
>>> bool(_) 
True 

公平地说,有时当我以交互方式工作时,我确实使用星形导入——但这只是为了在探索期间方便,而不是在实际代码中。

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