官方缩写:import scipy as sp/sc

Dan*_*ein 18 python numpy scipy

我见过两个:

import scipy as sp
Run Code Online (Sandbox Code Playgroud)

和:

import scipy as sc
Run Code Online (Sandbox Code Playgroud)

在任何地方都有官方偏好吗?

例如,在Scipy文档介绍中,建议使用

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

但是Scipy软件包没有类似的缩写.

这个问题,sp建议,但链接到SciPy的文档实际上并没有指定spsc.

Dan*_*ein 20

根据Scipy的文档,"官方"的答案是,没有理由这么做

import scipy
Run Code Online (Sandbox Code Playgroud)

因为Scipy中的所有有趣函数实际上都位于子模块中,这些子模块不会自动导入.因此,推荐的方法是使用

from scipy import fftpack
from scipy import integrate
Run Code Online (Sandbox Code Playgroud)

然后,可以调用函数

fftpack.fft()
Run Code Online (Sandbox Code Playgroud)

  • 另一方面,在较长的脚本中,完全限定名称可能更好.然后,"scipy"的简写可能很有用.像`import scipy as sp`后跟`import scipy.fft`这样的东西将允许在代码中使用:`sp.fft`. (2认同)

Y0d*_*0da 10

这里是 SciPy 维护者。

在 SciPy 1.9 之前,我们建议人们不要导入主命名空间 ( import scipy),因为这会递归导入所有内容,从而导致导入时间过长。

现在我们有一个延迟加载机制,不会造成任何性能损失。所以你可以这样做import scipy,并且模块仅在你使用它们时才加载。

为了回答这个问题,我们没有推荐的导入 SciPy 的方法。维护者之间有强烈的意见。一些维护者主张永远不要使用别名,而另一些维护者则欢迎使用别名。

我个人的看法是,虽然该项目不建议使用别名,但如果人们仍然要使用别名,那么最好每个人都使用相同的别名。sp似乎更常用,像 NetworkX 和 Scikit-Image 这样的库在内部使用这个约定。

请参阅更新的文档: https://scipy.github.io/devdocs/reference/index.html#guidelines-for-importing-functions-from-scipy


Fin*_*ood 6

正如cel指出的那样,API文档建议不要import scipy,但要从scipy以下位置导入特定模块:

scipy命名空间本身只包含从numpy导入的函数.这些函数仍然存在以实现向后兼容,但应直接从numpy导入.

因此,仅导入scipy基础包仅提供numpy内容,可以直接从numpy导入.

如果有人仍然想要主包,那么sp对于S ci p y将是方便的,因为np通常用于N um P y.