运算符优先级:不是和比较

时间:2011-10-11 04:57:40

标签: python

我正在努力更好地理解python,由于某些原因,缺少括号可能会有点混乱。

(not a < b < c)如何评估?是(not a) < b < c吗?还是not (a < b < c)

根据reference manualnot的优先级是<还是更高?我假设具有较高优先级的运算符在较低的那些之前进行评估,对吧?我觉得我现在需要有人来打破袜子木偶。

根据Python 2.4 reference manual没有和比较有不同的优先顺序。然后在Python 2.7 reference manual中,并且比较具有相同的优先级。

如果我没有弄错not a < b < c将会有不同的结果,具体取决于python的版本。有人请分享一下这个陈述的评估方式吗?

我坚持使用not (a < b < c)

1 个答案:

答案 0 :(得分:7)

您在2.7手册中看到的是所有关系运算符,包括not inis not,具有相同的优先级;布尔值not的优先级仍然低一级,因此关系比较首先发生。