Python链比较

示例

您可以使用具有链比较的多个比较运算符来比较多个项目。例如

x > y > z

只是以下形式的简称:

x > y and y > z

True仅当两个比较均为时,此结果才为True。

一般形式是

a OP b OP c OP d ...

其中OP代表您可以使用的多个比较操作之一,字母代表任意有效的表达式。

请注意,即使是,其0 != 1 != 0计算结果True也0 != 0为False。不同于普通的数学符号,其中x != y != z意味着x,y与z具有不同的值。==在大多数情况下,链接操作具有自然的含义,因为平等通常是可传递的。

风格

只要语法正确,使用多少项和比较操作就没有理论上的限制:

1 > -1 < 2 > 0.5 < 100 != 24

True如果每个比较都返回,则以上返回True。但是,使用卷积链不是一个好的样式。好的链接将是“定向的”,不会比

1 > x > -4 > y != 8


副作用

一旦一个比较返回False,该表达式将立即计算为False,跳过所有剩余的比较。

请注意,expin中的表达式a > exp > b仅计算一次,而对于

a > exp and exp > b

exp如果a > exp为true,则将计算两次。