好脑瓜不如烂笔头,所以,简单记录一下自己看过的总结。


逻辑运算
not 总是返回True或False,而and和or则不一定返回bool型结果,当参与运算的两个变量不是bool类型,返回的是原变量。具体规则如下:
对于and,当检测到第一个False的变量时,就不再继续运算,返回该变量;如果都是True,则返回最后一个变量;
1 and 'a' and [1,2,3] 结果是[1,2,3], 1 and 'a' and [] 结果是[].
对于or,当检测到第一个True的变量时,停止运算,返回该变量;如果都为False,则返回最后一个变量:
0 or 'abc' or [1] 结果是 'abc', 0 or [] or "" 结果是‘’ (空字符串)
