python——and和or逻辑运算符用法详解
一、概述
python中的逻辑操作符and 和or,也叫惰性求值,由于是惰性,只要确定了值就不往后解析代码了。
二、用法说明
(一)and 用法
文字说明:
第一种情况(判断语句):
从右往左解析,只要第一个是False,就是False,后面的就不需要运算了,整个都是错误的,无论后面是正确还是错误。记住一句话所有的判断语句除非都为True,整个句子为True,但凡有一个为False,整个都是False。
举例说明:
print (1 > 2 and 0 < 1)#False
print (1 > 2 and 0 > 1) #False
print (1 < 2 and 0 < 1)#True
print (1 > 2 and 0 < 1)#False
print (1 > 2 and 0 < 1 and 2 > 0 and 5 > 1) #False
第二种情况(都为数字时):
从右往左解析,0为False,1为True。同理,记住一句话语句中没有0整个句子就为True,但凡有一个为0,整个都是句子就为0。
举例说明:
print (0 and 5) #0
print (1 and 5) #5
print (5 and 0) #0
print (10 and 0 and 5 and 0)#0
print (6 and 4 and 3)#3
print (1 and 4 and 2 and 6) #6
(二)or 用法
文字说明:
第一种情况(判断语句):
从左往右解析,依次看语句是否为True,如果为True,整条语句都为True;不是的话,看下一条语句,同理,若都不是整条语句为False。
举例说明:
print (1 > 2 or 0 < 1) #True
print (1 < 2 or 0 > 1) #True
print (1 > 2 or 0 > 1) #False
print (1 < 2 or 0 > 1 or 2 > 3)#True
第二种情况(都为数字时):
从左往右依次解析,找到0了,看下一个数。不是0的话,整条语句就是不是0的那个值。
举例说明:
print (0 or 10) #10
print (1 or 2) #1
print (1 or 0) #1
print (7 or 5 or 5)#7
print (9 or 5 or 6 or 0 or 8)#9
三、两个集合and 和or操作的时候的问题
举例说明:
四、优先级问题(and > or)
举例说明:
print (1 and 5 or 0) #先计算1 and 5 为5再计算5 or 0 为5
print (1 or 5 and 0 or 6 and 0)
'''
先计算5 and 0为0,6 and 0为0
整个语句就变为1 or 0 or 0结果为1
'''
来源:xiaochuhe.