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