Python文档说,当float计算失败时,将引发FloatingPointError。但是,这里的“浮点计算”到底是什么意思?
我尝试用浮点数进行加,乘和除,但从未设法引发此特定错误。相反,我得到了TypeError
:
10/'a'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'int' and 'str'
有人可以帮助我了解在python中引发
FloatingPointError
吗? 最佳答案
它是 fpectl
模块的一部分。如果您未显式打开 FloatingPointError
(fpectl.turnon_sigfpe()
),则不应引发它。
但是请注意以下事项:
更新:fpectl
模块为removed as of Python 3.7。
即使打开了FloatingPointErrors,10/'a'
也将永远不会引发一个浮点数。它将始终引发TypeError。仅对于达到实际执行浮点数学运算的操作(例如1.0/0.0
),才会引发FloatingPointError。 10/'a'
并没有那么远。
关于python - python什么时候引发FloatingPointError?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41223865/