Python で無限大を得る方法

最近知ったのでメモ。

float の引数に文字列で "inf" を渡すと inf オブジェクトが返ってきます。

>>> float("inf")
inf

inf に何を足しても inf です。

>>> inf = float("inf")
>>> inf + 1
inf
>>> inf + 1 == inf
True

inf から inf を引いたり、 inf に 0 を掛けると、結果は nan (不定) になります

>>> inf - inf
nan
>>> inf * 0
nan

nan は自分自身と等しくないので、これを利用して nan かどうか調べることができます。
(Python 2.6 からは math モジュールに isnan というそのものズバリな関数が用意されています)

>>> nan = float("nan")
>>> nan == nan
False
>>> nan != nan
True

最後の nan の判定方法は PythonでNaNやinfを調べる で知りました。

By id:knzm