Python:条件判断和逻辑表达式

条件判断和逻辑表达式

(1)逻辑类型bool
(2)比较运算符
(3)逻辑运算符
(4)优先级和结合性

逻辑类型bool

运算符求值一个关系表达式,应该得到一个运算结果。python中用两个特殊的逻辑对象表示比较的结果,分别是 TrueFalse ,他们是bool型中仅有的两个对象。

  • 关系成立就会得到 True,表示结果为“真”。
  • 关系不成立时将会得到 False,表示结论为“假”。

比较运算符

==!=<<=>>=
等于不等于小于小于等于大于大于等于

比较运算符和两个数值表达式可以构造出一个关系表达式,其意义在于判断两个数值之间的特定的关系是否成立。
e.g.

>>> 3 > 2
True
>>> 3 < 2
False

逻辑运算符

用一个比较运算符可以比较两个数值(表达式)之间的一种关系,但是却不能够描述更复杂的关系。e.g.三角形的三边关系,仅用比较运算符不能完全判断,这时候,就需要写一个组合判断。
逻辑研究表明,只需要三个逻辑组合运算符就足以描述所有的组合判断:
(1)A与B,表示A和B都成立的组合判断
(2)A或B,表示A与B中至少一个成立的组合判断
(3)非A,表示A不成立的组合判断

orandnot
或(或者)非(否定)
  • or 和 and 是二元运算符
  • not 是一元运算符

基于比较和逻辑运算符构造的表达式是逻辑表达式
e.g.

>>>3 > 2 and 7 <= 10
True
>>> 3 < 2 or 7 < 10
True
>>>not 3 > 2 or 7 > 10 or 7 > 5
True

为了书写方便,python允许连续使用比较运算符。
x > 1 and x < 10可以写成 1 < x <10。 类似的 10 < x > y 也是允许的,但是并不常见。

优先级和结合性

  • 比较运算符的优先级低于算术运算符,因此 x+y > x2, 在进行比较时先计算比较运算符两边的 (x+y) 和(x2), 再进行比较。
  • 逻辑运算符的优先级由高到低依次为 not, and, or,但是所以的逻辑运算符都低于比较运算符,因此在 not x2 > 5 or y < 6 and x * y > 8这个逻辑表达式是先运算算术运算,即先计算 x2 和 (x * y), 在运算关系表达式,(x2 > 5) , (y < 6) 以及 (x * y >8),最后再进行逻辑运算。

在引进了比较运算符和逻辑运算符之后,我们可以用变量a,b,c表示三角形的三边长,来构造条件:

>>> a > 0 and b > 0 and c > 0 and \
a + b > c and b + c > a and a + c > b       #表达式很长,用 \ 续行符进行续行
    原文作者:Mekkky
    原文地址: https://blog.csdn.net/qq_44185514/article/details/89432674
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞