3-7. Pythonの非数 Nanと無限大 inf


1. Pythonの非数 Nan とは?

非数(not-a-number)、数値じゃないものが割り当てられた時や、計算不能の場合に生成されます。

例えば、無限大から無限大を引いた時、nanになります。
Pythonで無限大はfloat('inf')で表せます。

x = float('inf')
print(x - x)
>> nan


nanはfloat('Nan')で表すことができます。

x = float('Nan')
print(x - 1)
>> nan


2. Pythonの無限大 inf とは?

正の無限大をfloat('inf')、負の無限大を-float('inf')で表すことができます。
Infinityの略でfloat('Inf'), float('INF'), float('Infinity'), float('INFINITY') と書いても同じです。

float型が表す小数を超える値を扱おうとすると、infになります。

print(1.7e+308 * 2)
>> inf

print(-1.7e+308 * 2)
>> -inf

3. 非数 Nan 判定

ある変数がNanかどうかを判別するには、mathモジュールのisnan()を使います。

import math

x = float('Nan')
print(math.isnan(x))
>> True

ちなみに、Pythonの比較演算子 ==is では Nan の判定をできません。
▶︎ Python 比較演算子 nanについて


3. Python 公式ドキュメント


このエントリーをはてなブックマークに追加