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