python中可以通过串联比较操作符,举例说明:
1. a < b < c 等同于 a < b and b < c,对于if条件可写成下式:
if a < b < c:
pass
2. 所有的比较操作符(">" | "<" | "==" | ">=" | "<=" | "!=" | "is" ["not"] | ["not"] "in")具有相同的优先级
3. 比较操作符的优先级低于算数运算符、平移运算符和位运算符
4. 串联比较操作符规则:
4.1 比较操作最终返回值为True或False
4.2 比较操作符可以任意串联,例如
x < y <= z 等同于 x < y and y <= z,注意:y变量值不可变且可获取多次如有必要
4.3 若a, b, c, …, y, z 为表达式,op1, op2, …, opN为比较操作符,则
a op1 b op2 c … y opN z 等同于 a op1 b and b op2 c and … y opN z,注:每一个表达式可获取多次相同的值
5. 测试如下:
# Python code to illustrate
# chaining comparison operators
x = 5
print(1 < x < 10) # True
print(10 < x < 20 ) # False
print(x < 10 < x*10 < 100) # True
print(10 > x <= 9) # True
print(5 == x > 4) # True
a, b, c, d, e, f = 0, 5, 12, 0, 15, 15
print(a <= b < c > d is not e is f) # True
print(a is d > f is not c) # False
翻译来源:https://www.geeksforgeeks.org/chaining-comparison-operators-python/