nano_exit

基礎的なことこそ、簡単な例が必要だと思うのです。

自分が自分じゃないものってNaNだ。

"NaN"とは"Not a Number"の略で、例えば「1/0」のような変な計算をしてしまった時に出力される。
このNaNの特徴として、「NaN = NaN」が「偽(False)」になる。
逆に言うと、「NaN is not NaN」が「真(True)」になる。NaNとは「自分が自分でないもの」なのである。

これを簡単にpythonで確認すると、

a = float('NaN')
print( a /= a )

最近では「1/0」としてもZerroDividedErrorとして検出されてしまうので、NaNを出すのに逆に小技が必要なのはどこか面白く感じた。