scipy.special.

errstate#

scipy.special.errstate(**kwargs)#

特殊函数错误处理的上下文管理器。

errstate 的实例用作上下文管理器会允许该上下文中语句在已知错误处理行为下执行。在进入上下文时使用 seterr 设置错误处理,在退出时还原为之前的内容。

参数:
kwargs{all, singular, underflow, overflow, slow, loss, 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