【问题标题】:Official abbreviation for: import scipy as sp/sc官方缩写:import scipy as sp/sc
【发布时间】:2016-07-01 02:19:06
【问题描述】:

我都见过:

import scipy as sp

和:

import scipy as sc

任何地方都列出了官方偏好吗?

例如在Introduction of the Scipy documentation,建议

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

但 Scipy 包没有提供类似的缩写。

this question 中,推荐使用sp,但指向Scipy 文档的链接实际上并未指定sp 而不是sc

【问题讨论】:

  • 哦,所以链接问题中的建议实际上具有误导性。你基本上永远不想import scipy as sp。你只想from scipy import integrate。这很有趣,因为看起来有些通用的 scipy 子模块之间可能存在潜在冲突。
  • @DanHickstein:您可以使用import scipy.integrate as SI 或一些这样的唯一标识符来避免冲突。

标签: python numpy scipy


【解决方案1】:

根据Scipy documentation,“官方”回答是真的没有理由这样做

import scipy

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

from scipy import fftpack
from scipy import integrate

然后,函数可以调用

fftpack.fft()

就个人而言,我总是使用

import scipy.fftpack

并接受稍长的函数调用

scipy.fftpack.fft(data)

这样我就知道函数的来源了。

【讨论】:

  • 另一方面,完全限定名称在较长的脚本中可能更可取。然后scipy 的简写会很有用。 import scipy as sp 后跟 import scipy.fft 之类的内容将允许在代码中使用:sp.fft
【解决方案2】:

正如cel所指出的,API documentation 建议不要使用import scipy,而是从scipy 导入特定模块:

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

因此,只导入scipy基础包确实只提供numpy内容,可以直接从numpy导入。

如果有人仍然想要主包,sp for Scipy 会很方便,因为np 通常用于 N强>嗯Py。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-17
    • 2019-04-23
    • 2023-03-07
    • 2018-05-12
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多