Pyhton邏輯運算子短路問題

2021-10-22 12:00:34 字數 1500 閱讀 5649

這幾天都開始學習基礎知識了,基礎不牢,地動山搖!今天學習的知識主要是運算子,記載乙個比較重要的知識點,關於邏輯運算子短路問題,**清晰,直接上**!

**

#and or 左右兩邊都是表示式的時候,結果一定是true和false

#是不是有邏輯運算子 q:結果一定是bool型別? a:不一定

#and 只要左邊是真 繼續往後執行 只要左邊為假,立即終止

4<

3and

print

('hello world'

)#4<3 and print('處物件嘛,滾') #4<3 假,短路 不再往後繼續執行,不輸出結果

#下面進行了隱示型別轉換

print(5

and0

and'計算機'

)#0在邏輯表示式時,為false 短路 不再往後執行,直接跳出(0的資料型別變成bool型別為false)

print

("我"

and"在"

and"終點"

and"等你"

)#or 只要左邊是假 繼續往後執行 只要左邊是真,立即終止

prin(0or

or'科學與技術'

or123

)#前面都是假,繼續執行。 '科學與技術'為真 短路 直接跳出

#在python中,只有空字串'',"",數字0,空字典{},空列表,空元組(),和空資料none會被轉換成為false,

# 其他的都會被轉換成為true

print

(bool(''

))#空字串

print

(bool(0

))#數字0

print

(bool()

)#空字典

print

(bool([

]))#空列表

print

(bool((

)))#空元組

print

(bool

(none

))

運算子的優先順序

運算子描述

**指數 (最高優先順序)

~ + -

按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -加法減法

>> <<

右移,左移運算子

^ &位運算子

<= < > >=

比較運算子

<> == !=

等於運算子

= %= /= //= -= += *= **=

賦值運算子

is is not

身份運算子

in not in

成員運算子

not>and>or

邏輯運算子

算數運算子>位運算子>比較運算子>賦值運算子>邏輯運算子

邏輯運算子 短路特性

邏輯運算子 邏輯與 同真為真,一假則假 邏輯或 一真則真,同假則假 邏輯非 取反 真為假,假為真 短路特性 1 對於邏輯與來說,當第乙個條件已經為假時,則表示式結果一定為假 同真為真,一假則假 此時不再執行第二個條件。例如 a b 當a條件為假的時候,則b條件被短路,不再執行b條件,直接返回假。2 ...

php 短路邏輯運算子 和

都是短路運算子 短路與 運算方法 只要 前面是false,無論 後面是true還是false,結果都將返 前面的值 g false true g 被賦值為 false true 結果為 true 只要 前面是true,無論 後面是true還是false,結果都將返 後面的值 g true false...

邏輯運算子的短路性質

邏輯運算子 和 具有短路屬性,他們以一種特殊的方式處理不同型別的值,他們會首先按順序先將左側的值轉換為布林型別,來決定做什麼,再根據左側布林型別的取值,返回左側的布林型別取值或右側的布林型別取值。對於 來說,若左側的值能轉換成true,則直接返回左側的布林型別,右側的等式不再進行處理,若左側的值轉換...