在Python 中,and和 or 执行布尔逻辑演算,但是它们并不像C、C++之类的语言一样返回布尔值True或者False;而是,返回它们实际进行比较的值之一。
1、and
例如:
'a' and 'b' 返回的结果为'b'
'a' and 'b' and 'c' 返回的结果为'c'
'' and 'a' 返回的结果为''
计算的过程为:先看and的两边的结果是否为真,如果为真,则返回后面一个值;如果结果为假,则返回前面一个值。
2、or
例如:
'a' or 'b' 返回的结果为'a'
'' and 'c' 返回的结果为'c'
'' and {} and [] 返回的结果为[]
计算的过程为:从左往右返回第一个为真的值,其余的忽略;如果所有值均为假,则返回最后一个值
3、and - or当一个表达式中同时存在and和or时,按照优先级计算,and的优先级比or高,先计算and两边的值。