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]是一個非空列表,絕不會爲假。

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