a is b,但 a == b不成立

2021年2月23日 / 2次阅读 / Last Modified 2021年2月23日

Python的is,用来判断左右两个对象是否指向同一个地址,即判断是否为同一个对象。而 == 用来判断左右两个对象值是否相等。

一般情况下,当 a is b,a == b为True。但似乎凡事都有例外:

>>> import numpy as np
>>> a = np.nan
>>> b = np.nan
>>> a is b
True
>>> a == b
False
>>> import math
>>> math.isnan(a)
True

nan means not a number,IEEE745规定,nan与任何浮点数比较都为False,包括与它自己比较!

-- EOF --

本文链接:https://www.pynote.net/archives/3549

相关文章

    留言区

    邮箱地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top