python 邏輯運算子可以用來操作任何型別的表示式,不管表示式是不是 bool 型別;同時,邏輯運算的結果也不一定是 bool 型別,它也可以是任意型別。
這點是和c/c++等語言不同的,c/c++語言中邏輯運算子的結果就是bool型別,即true或者false。
下面來一一介紹。
1. not 邏輯非
結果只有 true 和 false。not可以對符號右側的值進行非運算
1)對於布林值,非運算會對其進行取反操作,true 變 false,false 變 true。
2)對於非布林值,非運算會先將其轉換為布林值,然後再取反。
a. 字串,有內容為true,空字串為 false 。
b. 數字,0 為 false ,其它 為 true 。
print
(not0)
# true
print
(not10)
# false
print
(not-1
)# false
print
(not'')
# true
2. and 邏輯與
and 可以對符號兩側的表示式進行與運算,它的兩側表示式的計算結果可以是 bool 型別,也可以是數字或者字串。
我們將表示式的計算結果為 false、0、』』 等統一描述為假,反之描述為真。and 的返回結果可以是任意型別,由表示式決定。
python中的與運算是短路的與,它的邏輯規則如下:
1)如果左邊表示式的值為假,那麼就不用計算右邊表示式的值了,此時 and 會把左邊表示式的值作為最終結果。
2)如果左邊表示式的值為真,那麼最終值是不能確定的,and 會繼續計算右邊表示式的值,並將右邊表示式的值作為最終結果。
'''
'''print(1
and1.2
)# 1.2
print
(false
and10
)# false
print(-
1and0)
# 0print(''
and"123"
)# ''
3. or 邏輯或
or 可以對符號兩側的值進行或運算,與and類似,它的兩側表示式的計算結果可以是 bool 型別,也可以是數字或者字串。
我們將表示式的計算結果為 false、0、』』 等統一描述為假,反之描述為真。or 的返回結果可以是任意型別,由表示式決定。
python中的或運算是短路的或,它的邏輯規則如下:
1)如果左邊表示式的值為真,那麼就不用計算右邊表示式的值了,此時 or 會把左邊表示式的值作為最終結果。
2)如果左邊表示式的值為假,那麼最終值是不能確定的,or 會繼續計算右邊表示式的值,並將右邊表示式的值作為最終結果。
print(1
or1.2
)# 1
print
(false
or10
)# 10
print(-
1or0)
# -1
print(''
or"123"
)# "123"
python邏輯運算子
python邏輯運算子 python語言支援邏輯運算子,以下假設變數 a 為 10,b為 20 運算子 邏輯表示式 描述 例項 and x and y 布林 與 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值。a and b 返回 20。or x or y 布林...
Python邏輯運算子
算術運算子 比較 關係 運算子 運算子邏輯表示式 描述例項 andx and y 布林 與 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值 a and b 返回 20。orx or y 布林 或 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。a...
python 邏輯運算子
python 95 定義變數,儲存python的分數 english 92 定義變數,儲存english的分數 c 89 定義變數,儲存c語言的分數 輸出3個變數的值 print python str python english str english c str c n print python...