可能在网上你经常能看到关于这个问题的答案和解析,但是依然有很多刚开始学习 Python 的人,不了解这个问题,也不知道为什么问这个问题时会暴露自己是“菜鸟”,这个问题就是:
“==” 和 “is”之间有什么区别?“==”和“is”都是 Python 中的运算符。对于初学者,他们可能会把“ a==b ”解释为“ a 等于 b ”,“a is b”也可以解释为“ a是b ”。这可能就是初学者在 Python 中混淆“ == ”和“ is ”的原因。 在开始之前,我想先展示一些使用“==”和“is”的例子。
>>> a = 5
>>> b = 5
>>> a == b
True
>>> a is b
True
很简单,对吧?a == b 和 a is b 都返回了结果 True。接下来我们看另一个示例:
>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
WTF ?!?从第一个示例到第二个示例的唯一变化就是 a 和 b 的值从 5 到 1000。但是返回的结果在 “ ==” 和 “ is” 已经不同。我们再看另一个示例:
>>> a = []
>>> b = []
>>> a == b
True