[Python 3] 串联比较操作符

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 cy 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/

你可能感兴趣的:([Python 3] 串联比较操作符)