In [6]: a = float('nan')
In [7]: a == a
Out[7]: False
Run Code Online (Sandbox Code Playgroud)
为什么?
有两个原因,一个是实际的,一个是历史的.历史原因是,这使得测试NaN变得微不足道.如果该值不等于它自己,则为NaN.
实际的原因是NaN用于表示未定义值的各种不同情况,并非所有未定义的值都相等.
应该NaN/ NaN等于1?想想会有多疯狂.认为NaN应该相等的只是不那么疯狂.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |