Python编程基础控制流之链式比较运算符

Posted 海拥✘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python编程基础控制流之链式比较运算符相关的知识,希望对你有一定的参考价值。

现实生活中会出现一些情况,当我们需要做出一些决定时,我们会根据这些决定来决定下一步应该做什么。类似的情况也出现在编程中,我们需要做出一些决定,并根据这些决定我们将执行下一个代码块。

本文章为系列文章,关于【Python编程基础】控制流的共七篇文章。初学者可以尝试这些测试代码,在 Python 编译环境中动手操作以加深印象。

🌟【Python编程基础】控制流之 if else 语句
🌟【Python编程基础】控制流之链式比较运算符
🌟【Python编程基础】控制流之 For 循环
🌟【Python编程基础】控制流之 While 循环
🌟【Python编程基础】控制流之 break 语句
🌟【Python编程基础】控制流之 pass 语句
🌟【Python编程基础】控制流之 Python 中的循环技术

🏆【Python编程基础】控制流之链式比较运算符

检查两个以上的条件在编程语言中很常见。假设我们要检查以下条件:

a < b < c

最常见的语法如下:

if a < b and b < c :
   {...}

在 Python 中,有一种更好的方法可以使用比较运算符 Chaining来编写它。运算符的链接可以写成如下:

if a < b < c :
    {.....}

根据Python 中的结合性和优先级,Python中的所有比较操作都具有相同的优先级,低于任何算术、移位或按位运算的优先级。同样与 C 不同的是,像 a < b < c 这样的表达式具有数学中的常规解释。

Python 中的比较运算符列表:

">" | "<" | "==" | ">=" | "<=" | "!=" | "is" ["not"] | ["not"] "in"

链接比较运算符:

1.比较产生布尔值:True 或 False。
2.比较可以任意链接。例如

x < y <= z is equivalent to x < y and y <= z, 

除了 y 只计算一次。
(但在这两种情况下,当发现 x < y 为假时,根本不计算 z)。

3.形式上,如果 a, b, c, …, y, z 是表达式而 op1, op2, …, opN 是比较运算符,那么 a op1 b op2 c … y opN z 等价于 a op1 b 和 b op2 c and … y opN z,除了每个表达式最多计算一次。
4.并且

a op1 b op2 c 

并不意味着 a 和 c 之间的任何类型的比较,所以

 a < b > c

是完全合法的。

# 用于说明 chaining 比较运算符的 Python 代码 
x = 5
print(1 < x < 10)
print(10 < x < 20 )
print(x < 10 < x*10 < 100)
print(10 > x <= 9)
print(5 == x > 4)

输出:

True
False
True
True
True

另一个例子:

# 用于说明 chaining 比较运算符的 Python 代码
a, b, c, d, e, f = 0, 5, 12, 0, 15, 15
exp1 = a <= b < c > d is not e is f
exp2 = a is d > f is not c
print(exp1)
print(exp2)

输出:

True
False

本文参考:Python 3 文档

💌 欢迎大家在评论区提出意见和建议!💌

以上是关于Python编程基础控制流之链式比较运算符的主要内容,如果未能解决你的问题,请参考以下文章

Python编程基础控制流之 if else

Python编程基础控制流之 if else

Python基础语法

Python基础之输入输出与高阶赋值

转行零基础该如何学Python?

零基础学python第五课,熟悉流程控制比较运算符逻辑运算符