标签:应该 div scribe 数学 有意思 and 因此 意义 优先级
python有一个很有意思的语法糖你可以直接写1<2<3。
这复合我们通常意义上的数学不等式,但对学过C等语言其实是有疑惑的。
我们知道不等式返回的其实是个Bool值,在C中是1,0因此C中下面情况是正确的
0<0<1
因此我们看下面这个情况
True == True == False
#False
False == False == True
#False
从通常意义来说==号从右往左结合,无论如何值都应该是True,但是结果确是False
这就是源于python的一个语法糖,对于运算优先级的规定。
所有比较类型的运算符拥有同样的优先级,会从左至右链接起来共同作为一个比较段( all have the same precedence and have a left-to-right chaining feature as described in the Comparisons section)。
in, not in, is, is not, <, <=, >, >=, !=, ==
比如一个典型的True == True == False
它实质是如下的逻辑关系
(True == True) and (True == False)
同样1<2<3实质是
1<2 and 1<3
标签:应该 div scribe 数学 有意思 and 因此 意义 优先级
原文地址:http://www.cnblogs.com/lynsyklate/p/7989308.html