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