当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。