gpt4 book ai didi

python 南!=南

转载 作者:太空狗 更新时间:2023-10-30 00:41:27 28 4
gpt4 key购买 nike

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = float('nan')
>>> id(x) == id(x)
True
>>> x == x
False

我对 python 中的 nan != nan 很感兴趣。澄清一下,我知道 nan 根据定义应该表现得像那样,我问的是如何,而不是为什么。那是在哪里实现的?是否有任何其他对象具有类似的行为?

最佳答案

非数字 (NaN) 不等于任何东西。要检测它,请使用 math.isnan。像这样的对象很容易定义:

class A(object):
def __eq__(self, other):
return False

def __ne__(self, other):
return True

原因很简单。 CPython 遵循 float 学的 IEEE 754 标准。 NaN 是一个浮点值,IEEE 754 规定它不等于任何其他浮点值。

关于 python 南!=南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13003202/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com