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