Python中的邏輯表示式

語言: CN / TW / HK

首先要明確一點,Python的邏輯運算子,可以用來操作任何型別的表示式(不侷限於Bool型別),且運算後的結果也不一定是Bool型別的,而是其左右其中一個表示式的值

表示式1 and 表示式2

python不一定會去計算左右兩邊的表示式的值,某些情況其只會計算左邊表示式,而不會計算右邊的表示式。

對於 and 邏輯運算子,兩邊都為真,則結果才為真;而只要第一個表示式的結果為假,則整個邏輯表示式的結果就是假,不需要再去計算後面的表示式的結果。

  • 表示式1為 true時

    邏輯表示式的結果為 表示式2

  • 表示式1為 false時

    邏輯表示式的結果為 表示式1

print(100 and 200)
print(0 and 400)
print("" and "https://www.cnblogs.com/jack-nie-23/")
print("https://www.cnblogs.com/jack-nie-23/" and 2)

>> 200
>> 0
>> 
>> 2

表示式1 or 表示式2

對於 or 邏輯運算子,當兩邊的表示式都為假時則整個邏輯表示式的結果為假,而當表示式1的結果為真時,則整個邏輯表示式的結果就是為真,此時python不會再去計算表示式2的值。

  • 表示式1為 true 時

    邏輯表示式的結果為 表示式1

  • 表示式1為 false 時

    邏輯表示式的結果為 表示式2

print(100 or 200)
print(0 or 400)
print("" or "https://www.cnblogs.com/jack-nie-23/")
print("https://www.cnblogs.com/jack-nie-23/" or 2)

>> 100
>> 400
>> https://www.cnblogs.com/jack-nie-23/
>> https://www.cnblogs.com/jack-nie-23/

還有一件事

Python中表達為 false 的值有以下這些:

  • 為0的數字,包括0,0.0

  • 空字串,包括 '', "" 這裡指的是空字串,不包括空字串 ' '," "。

  • 表示空值的None

  • 空集合,包括(),[],{}