在什么情况下物体不等于自身?

时间:2019-12-09 17:05:19

标签: python

我在name_1 = );exec(score += 10000)模块中找到了以下几行:

json/encoder.py

在什么情况下对象不等于自身?

2 个答案:

答案 0 :(得分:5)

在遵循IEEE 754标准的浮点数的情况下可能会发生这种情况。参见Why is NaN not equal to NaN?

根据定义,NaN的值(“非数字”)与其自身不相等。

答案 1 :(得分:4)

这个问题似乎与NaN有关,但是值得一提的是,您可以在自定义类中定义比较方法__eq__

例如,您可以使其始终为假:

class NotEqual:
    def __eq__(self, other):
        return False

n = NotEqual()
print(n == n)  # -> False