我正在努力更好地理解python,由于某些原因,缺少括号可能会有点混乱。
(not a < b < c)
如何评估?是(not a) < b < c
吗?还是not (a < b < c)
?
根据reference manual,not
的优先级是<
还是更高?我假设具有较高优先级的运算符在较低的那些之前进行评估,对吧?我觉得我现在需要有人来打破袜子木偶。
根据Python 2.4 reference manual没有和比较有不同的优先顺序。然后在Python 2.7 reference manual中,并且比较具有相同的优先级。
如果我没有弄错 not a < b < c
将会有不同的结果,具体取决于python的版本。有人请分享一下这个陈述的评估方式吗?
我坚持使用not (a < b < c)
答案 0 :(得分:7)
您在2.7手册中看到的是所有关系运算符,包括not in
和is not
,具有相同的优先级;布尔值not
的优先级仍然低一级,因此关系比较首先发生。