python的短邏輯

2021-09-13 22:17:26 字數 1348 閱讀 6161

python中的與(and)和或(or)都是短路的與或,短路指的是當通過第乙個值能判斷出結果時,就不再去檢視第二個值了。

python支援布林型別的資料,布林型別只有true和false兩種值,但是布林型別有以下幾種運算:

與(and)運算:對於與運算,由於要求兩個都為true結果才為true,所以如果與運算的第乙個值是false,這時無論第二個值是什麼,最終結果都會是false。因此與運算的第乙個值如果是false,則第二個值就不會再執行檢視了。

print

(true

andtrue

)print

(true

andfalse

)print

(false

andtrue

)print

(false

andfalse

)# 輸出如下:

# true

# false

# false

# false

或(or)運算:只要有乙個布林值為 true,計算結果就是 true。或運算,要求有乙個true就會返回true,所以只要或運算的第乙個值是true,就不會再檢視第二個值了。總結起來就是與運算是找false的,找到false了就不會再看第二個值了。或運算時找true的,找到true了就不會再看第二個值了。

print

(true

ortrue

)print

(true

o***lse

)print

(false

ortrue

)print

(false

o***lse

)# 輸出如下:

# true

# true

# true

# false

在python中,布林型別還可以與其他資料型別做and、or和not運算,請看下面的**:

a =

true

print

(a and

'a=t'

or'a=f'

)# 輸出如下:

# a=t

計算結果不是布林型別,而是字串』a=t』,這是為什麼呢?因為python把0、空字串和none看成 false,其他數值和非空字串都看成true,所以前半部分,true and 'a=t'計算結果是'a=t',然後繼續計算'a=t' or 'a=f',得到結果還是'a=t'所以最終結果就是a=t。

我python你個and or 邏輯運算的短路求值

格式 運算元1 and 運算元2 如果運算元1的值為true 無論是什麼型別 true 1 1 那麼運算結果就等於運算元2。in 8 3and2 out 8 2in 9 3and0 out 9 0in 10 3andfalse out 10 false in 11 3and hello out 11...

使用Python生成url短鏈結的方法

幾乎所有的微薄都提供了縮短 的服務,其原理就是將乙個url位址按照一定的演算法生成一段字串,然後加在乙個短網域名稱後面邊成了乙個新的url位址,資料庫中會存放這個短位址和原始的位址,當使用者點選這個新的短位址後,短位址服務會根據短網域名稱後面的幾個字串從資料庫中讀出原來的位址然後頁面進行跳轉程式設計...

Python的與或邏輯

python的與或邏輯包括 下面我們來探索對不同集合型別中的與或的使用。對於布林數 a true b false print a b 輸出false print a b 輸出true print a and b 輸出false print a or b 輸出true 對於列表 a list true...