我试图在Python中做零对数。
from math import log
log(0)
这引起了我的例外。
ValueError: math domain error
我理解,log
的负数在数学上是未定义的,这就是为什么Python log
可以引发此ValueError
异常的原因。但是为什么在用零值调用它时也会引发异常呢?它应返回-inf
值,并且我已经看到无限数字可以用Python表示(as in here)。
我可以在没有亲自对待的情况下处理这个问题吗?我的意思是亲自做这样的事情。
from math import log, inf
foo = ... # Random value.
if foo != 0: return log(foo)
else: return -inf