Python 邏輯運算子

2021-10-10 07:33:34 字數 1666 閱讀 4112

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...