Python逻辑运算符

Posted _小溢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python逻辑运算符相关的知识,希望对你有一定的参考价值。

  and or not 

  优先级:() > and > or > not

 

  1.or

  在python中,逻辑运算符or,x or y, 如果x为True则返回x,如果x为False返回y值。因为如果x为True那么or运算就算退出看l,一个为真则为真,所以返回x的值。如果x的值为假,那么or运算的结果取决于y,所以返回y的值。

1 print(1 or 2)   # 1
2 print(3 or 2)   # 3
3 print(0 or 2)   # 2
4 print(0 or 100) # 100
5 print(0 or 0)

 

  2.and

  在python中,逻辑运算符and,x and y,如果x为True则返回y值。如果x为False则返回y值。如果x的值为True,and的运算不会结束,会继续看y的值,所以此时真与假取决于y的值,所以x如果为真,则返回y的值。如果x为假,那么and运算就会结束运算过程了,因为有一个为假则and为假,所以返回x的值。

print(1 and 2)  # 2
print(3 and 0)  # 0
print(0 and 2)  # 0
print(3 and 2)  # 2
print(0 and 0)  # 0

 

  3.混合例子与解析

print(1 > 2 and 3 or 4 and 3 < 2)   # False or False -> False

  按照从左向由,优先级高的先执行优先级高的规则,首先因为比较运算符优先级高于逻辑运算符,很简单,如果运算符低于了逻辑运算符优先级那还如何运算呢。and 优先级大于 or

  1 > 2 为 False

  3 <  2 为 False

  Flase and 3,因为False为假所以and不在运算直接返回False

  4 and False,因为4为真所以and运算符会继续运算后面的,以False为主,所以返回False。

  False or False,因为False为假,所以or运算符会继续运算后面的,以False为主,所以返回后面的False值

以上是关于Python逻辑运算符的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python 中并行化以下代码片段?

python关于八皇后判断冲突函数的一些逻辑小问题

这里是Python初学者,正在努力使用逻辑OR运算符

7. Python运算符之逻辑成员身份运算符及优先级

Python代码阅读(第13篇):检测列表中的元素是否都一样

逻辑判断与运算符