scipy.special.errstate

class scipy.special.errstate(**kwargs)

用于特殊功能错误处理的上下文管理器。

使用 errstate 因为上下文管理器允许该上下文中的语句以已知的错误处理行为执行。在进入上下文时,错误处理设置为 seterr ,一旦退出,它就会恢复到以前的状态。

参数
kwargs{全部、单一、下溢、溢出、慢速、丢失、NO_RESULT、DOMAIN、ARG、OTHER}

关键字参数。有效的关键字可能是特殊功能错误。每个关键字都应该有一个字符串值,用于定义对特定类型错误的处理。值必须是“”Ignore“”、“”Warn“”或“”Other“”。“”看见 seterr 有关详细信息,请参阅。

参见

geterr

获取当前处理特殊函数错误的方式

seterr

设置特殊功能错误的处理方式

numpy.errstate

用于浮点错误的类似NUMPY函数

示例

>>> import scipy.special as sc
>>> from pytest import raises
>>> sc.gammaln(0)
inf
>>> with sc.errstate(singular='raise'):
...     with raises(sc.SpecialFunctionError):
...         sc.gammaln(0)
...
>>> sc.gammaln(0)
inf

我们还可以对除一个类别以外的所有类别进行加价。

>>> with sc.errstate(all='raise', singular='ignore'):
...     sc.gammaln(0)
...     with raises(sc.SpecialFunctionError):
...         sc.spence(-1)
...
inf