當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy geterrobj用法及代碼示例


本文簡要介紹 python 語言中 numpy.geterrobj 的用法。

用法:

numpy.geterrobj()

返回定義浮點錯誤處理的當前對象。

錯誤對象包含定義 NumPy 中錯誤處理行為的所有信息。 geterrobj 由獲取和設置錯誤處理行為的其他函數內部使用( geterr seterr geterrcall seterrcall )。

返回

errobj 列表

錯誤對象,一個包含三個元素的列表:[內部 numpy 緩衝區大小、錯誤掩碼、錯誤回調函數]。

錯誤掩碼是一個整數,包含所有四個浮點錯誤的處理信息。每種錯誤類型的信息都包含在整數的三位中。如果我們以 8 為基數打印它,我們可以看到為 “invalid”, “under”, “over” 和 “divide” 設置了什麽處理(按此順序)。打印的字符串可以解釋為

  • 0:‘ignore’

  • 1:‘warn’

  • 2:‘raise’

  • 3:‘call’

  • 4:‘print’

  • 5:‘log’

注意

有關浮點異常類型和處理選項的完整文檔,請參閱 seterr

例子

>>> np.geterrobj()  # first get the defaults
[8192, 521, None]
>>> def err_handler(type, flag):
...     print("Floating point error (%s), with flag %s" % (type, flag))
...
>>> old_bufsize = np.setbufsize(20000)
>>> old_err = np.seterr(divide='raise')
>>> old_handler = np.seterrcall(err_handler)
>>> np.geterrobj()
[8192, 521, <function err_handler at 0x91dcaac>]
>>> old_err = np.seterr(all='ignore')
>>> np.base_repr(np.geterrobj()[1], 8)
'0'
>>> old_err = np.seterr(divide='warn', over='log', under='call',
...                     invalid='print')
>>> np.base_repr(np.geterrobj()[1], 8)
'4351'

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.geterrobj。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。