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
前一篇:什么是猴子补丁(monkey patch)?
后一篇:动态语言的鸭子类型
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记