python中and-or使用

一、and
在Python 中,and 和 or 执行布尔逻辑演算,但是它们并不返回布尔值;而是返回它们实际进行比较的值之一。

如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。
如果布尔上下文中的某个值为假,则 and 返回第一个假值。

即返回最后一个真值或第一个假值

二、or
使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值

如果所有的值都为假,or 返回最后一个假值。
注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值。

即返回第一个真值或最后一个假值

三、and-or
抛开绕人的and和or的逻辑,你只需记住,在一个bool and a or b语句中,当bool条件为真时,结果是a;当bool条件为假时,结果是b。

当a是0或者”或者其它假值,bool and a or b 表达式将不能得到期望结果。
为确保a的值不会为假,最常用的方式是使 a 成为 [a] 、 b 成为 [b],然后使用返回值列表的第一个元素。
c = (True and [a] or [b])[0]
此时[a]是一个非空列表,绝不会为假。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章