前提: 在python中0、''、[]、()、{}、None 在布尔上下文中为假,其它任何东西都为真。
第一种情况,只有一个运算符:(在不加括号的时候,and优先级大于or)
1) and: 从左到右,若所有值均为真,则返回后一个值,有一个假的值,则返回第一个假的值
2) or : 从左到右,返回第一个为真的值,都为假返回后一个值
例如:
x or y 的值只可能是x或y. x为真就是x, x为假就是y
x and y 的值只可能是x或y. x为真就是y, x为假就是x
第二种情况,多个运算符:
1) 表达式从左至右运算,若 or 的左侧逻辑值为 True ,直接输出 or 左侧表达式 。
2) 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则忽略后面表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。