使用“is”运算符在Python中出现意外行为

时间:2015-05-17 14:07:08

标签: python

代码非常明显。我正在搞乱Python并且这(a = b == b == a是c)意外地返回True。我是如何看待它的,操作顺序是==首先然后'是'(根据谷歌)。所以代码应该等效于(a是True是c),返回False。

无论如何,我尝试了很多可能的操作顺序,所有这些似乎都返回False。我错过了一些非常明显的东西吗?

我正在使用3.4.2

/api/

1 个答案:

答案 0 :(得分:2)

在Python比较运算符链中,a is b==b==a is c等同于

(a is b) and (b == b) and (b == a) and (a is c)

并且a,b和c都是相同的对象,所有比较都评估为True