在 C/C++ 中,比较运算符例如< >
优先级高于==
做。该代码将计算为true
or 1
:
if(3<4 == 2<3) { //3<4 == 2<3 will evaluate to true
...
}
但在Python中,似乎是错误的:
3<4 == 2<3 #this will evaluate to False in Python.
在Python中,每个比较运算符都具有相同的优先级吗?
在Python中,比较运算符不仅具有相同的优先级,而且还受到特殊对待(它们是链接而不是分组)。来自文档 http://docs.python.org/reference/expressions.html#notin:
正式来说,如果a, b, c, ..., y, z
是表达式和op1, op2, ..., opN
是比较运算符,那么a op1 b op2 c ... y opN z
相当于a op1 b and b op2 c and ... and y opN z
,但每个表达式最多计算一次。
在你的情况下,表达式
3<4 == 2<3
相当于
3 < 4 and 4 == 2 and 2 < 3
这是False
由于第二条。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)