链比较
你可以使用链式比较将多个项目与多个比较运算符进行比较例如
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
,跳过所有剩余的比较。
请注意,a > exp > b
中的表达式 exp
将仅被评估一次,而在。的情况下
a > exp and exp > b
如果 a > exp
为真,则 exp
将被计算两次。