一、如下是以下值就认为是假
1、None–>None值
2、False–>False值
3、0–>数值零不管它是int,float还是complex类型
4、”,(),[]–>任何一个空的序列
5、{}–>空的集合。
二、所有不满足False条件的值就当成True
优先级:
not > and > or
True and True ==> True True or True ==> True
True and False ==> False True or False ==>True
False and True ==> False False or True ==> True
False and False ==> False False or False ==> False
短路逻辑
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or( 7 and 8 and 9)
举例:
a and b or c
下面分几种情况:
如果a为真b为真则返回b,
如果a b均为假则返回c
如果a为假则b被短路返回c,
如果a为真b为假则返回c,