我正在尝试在 Python 中做一个零对数。
from math import log
log(0)
这给我带来了一个例外。
ValueError: math domain error
我知道log
负数的 a 在数学上是未定义的,这就是 Pythonlog
可以引发此ValueError
异常的原因。但是为什么在用零值调用它时也会引发异常?它应该返回一个-inf
值,并且我已经看到可以在 Python 中表示无限数(如此处所示)。
我可以在不亲自处理的情况下处理这个问题吗?我的意思是个人在做这样的事情时。
from math import log, inf
foo = ... # Random value.
if foo != 0: return log(foo)
else: return -inf