私はPythonでゼロの対数をしようとしています。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
foo> 0なら 'log(foo)else -inf'はうまくいくようです – BallpointBen
_Itは' -inf'値を返します。いいえ、そうしてはいけません。 'log(0)'は-infと等しくありません。それは限界に近い "0に近い"傾向がありますが、値自体は未定義です。 –
負の値を '-inf'にも変換し、制限付きであっても正しくない@not_a_robot – Adirio