(1)and 逻辑与
全真则真,一假则假
print(TrueandTrue) #True
print(FalseandTrue) #False
print(FalseandFalse) #False
print(TrueandFalse) #False
(2)or 逻辑或
全假则假,一真则真
print(TrueorTrue) #True
print(FalseorTrue) #True
print(FalseorFalse) #False
print(TrueorFalse) #True
(3)not 逻辑非, (取反)
print(notTrue) #False
print(notFalse) #True
逻辑短路: 在逻辑运算符的左侧就可以判断出来True或False, 那么右侧代码就不执行
False and bool 逻辑短路, 右侧不执行
True or bool 逻辑短路, 右侧不执行
Falseandprint(123) # 短路
Trueorprint(234) # 短路
Trueandprint(345) # and左侧不能判断真假, 右侧打印执行345
逻辑运算符的返回值:
并不只是返回True或False, 也可以返回其他值(要先经过bool强转后进行运算)
短路时弹出左侧数据(如果方法有返回值弹出返回值, 无返回值弹出None),
不短路时弹出右侧数据的返回值.
# (1)
print(5or6and7) # 5
print(5orTrue) # 5
print(Falseor5) # 5
# (2)
print((5or6)and7) # 7
# (3)
print(not(5or6)and7) # False
# (4)
print(3>1or4<5and6>9or8==10) # True