numpy.seterrobj #
- 麻木的。seterrobj ( errobj , / ) #
设置定义浮点错误处理的对象。
错误对象包含定义 NumPy 中错误处理行为的所有信息。
seterrobj
由设置错误处理行为的其他函数内部使用 (seterr
,seterrcall
)。- 参数:
- 错误列表
错误对象,一个包含三个元素的列表:[内部numpy缓冲区大小,错误掩码,错误回调函数]。
错误掩码是一个整数,包含所有四个浮点错误的处理信息。每个错误类型的信息包含在整数的三位中。如果我们以 8 为基数打印它,我们可以看到对“invalid”、“under”、“over”和“divide”(按顺序)设置了什么处理方式。打印的字符串可以解释为
0:'忽略'
1:“警告”
2:“提高”
3:“打电话”
4:“打印”
5:“日志”
笔记
有关浮点异常类型和处理选项的完整文档,请参阅
seterr
。例子
>>> old_errobj = np.geterrobj() # first get the defaults >>> old_errobj [8192, 521, None]
>>> def err_handler(type, flag): ... print("Floating point error (%s), with flag %s" % (type, flag)) ... >>> new_errobj = [20000, 12, err_handler] >>> np.seterrobj(new_errobj) >>> np.base_repr(12, 8) # int for divide=4 ('print') and over=1 ('warn') '14' >>> np.geterr() {'over': 'warn', 'divide': 'print', 'invalid': 'ignore', 'under': 'ignore'} >>> np.geterrcall() is err_handler True