当我在 Python 中进行浮点除法时,如果我除以零,我会得到一个异常:
>>> 1.0/0.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ZeroDivisionError: float division
我真的很想得到 NaN
或 Inf
代替(因为 NaN
或 Inf
会传播通过我的其余计算正确,而不是杀死我的程序)。
我该怎么做?
最佳答案
获得这种行为的最简单方法是使用 numpy.float64
而不是 Python 默认的 float
类型:
>>> import numpy
>>> numpy.float64(1.0) / 0.0
inf
当然这需要 NumPy。您可以使用numpy.seterr()
微调错误处理。
关于python - 当我除以零时如何得到 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10011707/