scipy.special.
errstate#
- class 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