NaN(not a number),在数学表示上表示一个无法表示的数,这里一般还会有另一个表述inf,inf和nan的不同在于,inf是一个超过浮点表示范围的浮点数(其本质仍然是一个数,只是他无穷大,因此无法用浮点数表示,比如1/0),而nan则一般表示一个非浮点数(比如无理数)。
NaN是浮点数的一个值,代表“不是数”,通常是除0错误。
python中可以用float("nan")或cmath.nan获得。
Python 中表示 Not A Number 使用小写的 nan
可以这样定义一个 nan
a = float('nan')
或者
from decimal import Decimal a = Decimal('nan')
最常见的计算有 无穷大 减 无穷大 结果为 nan
float('inf') - float('inf')
判断一个数是不是 nan
import math print(math.isnan(a))
nan 和 nan 的比较关系是 nan != nan
所以如果一个数 自身不等于自身 也可以判断为 nan 类型,另外 numpy 里也有 NaN 的类型,不过不属于 Python 原生就不说了。