python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別
按位與或(&、|、^):按照二進制進行邏輯運算例如:數(shù)字換成二進制,各自位上的0/1進行邏輯運算,得到的結(jié)果轉(zhuǎn)換為數(shù)字
3 & 2=0111 & 0010=0010=2
二進制邏輯運算規(guī)則:
&:0&0=0; 0&1=0; 1&0=0; 1&1=1。|:0|0=0; 0|1=1; 1|0=1; 1|1=1。^:0^0=0; 0^1=1; 1^0=1; 1^1=0。
代碼運行順序:從上到下,從左到右
一:邏輯與或 (and、or)
1:and :從左到右運行,運行到表達式不正確就輸出False,后面的表達式邏輯短路;若運行到函數(shù)且無返回值,則輸出None,且后面的表達式邏輯短路(不運行了);若表達式全正確,則輸出最后一個正確的結(jié)果。
例1:運行到表達式不正確就輸出False,后面的表達式邏輯短路
def print_1(): print(’已經(jīng)運行這里了’)a = 99 and 3==1 and print_1()print(a)
輸出:

例2:若運行到函數(shù)且無返回值,則輸出None,且后面的表達式邏輯短路
def print_1(): print(’已經(jīng)運行這里了’)a = 99 and 3==3 and print_1() and Falseprint(a)
輸出:

例3:若表達式全正確,則輸出最后一個正確的結(jié)果
def print_1(): print(’已經(jīng)運行這里了’) return 1==1a = 99 and 3==3 and print_1() and 99print(a)
輸出:

2:or:從左到右運行,運行到表達式正確的就輸出這個表達式的結(jié)果,后面的表達式邏輯短路;若運行到函數(shù)且無返回值,則繼續(xù)運行后面的表達式;若表達式全不正確,則輸出False;
例1:運行到表達式正確的就輸出這個表達式的結(jié)果,后面的表達式邏輯短路
def print_1(): print(’已經(jīng)運行這里了’)b = 99==1 or 3==3 or print_1()print(b)
輸出:

例2:若運行到函數(shù)且無返回值,則繼續(xù)運行后面的表達式
def print_1(): print(’已經(jīng)運行這里了’)b = 99==1 or 3==1 or print_1() or 99print(b)
輸出:

例3:若表達式全不正確,則輸出False
def print_1(): print(’已經(jīng)運行這里了’)b = 99==1 or 3==1 or print_1() or Falseprint(b)
輸出:

到此這篇關(guān)于python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別的文章就介紹到這了,更多相關(guān)python中邏輯與或(and、or)和按位與或異或(&、|、^)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:

網(wǎng)公網(wǎng)安備