python中邏輯與或(and、or)和按位與或異或(&、|、^)區別
按位與或(&、|、^):按照二進制進行邏輯運算例如:數字換成二進制,各自位上的0/1進行邏輯運算,得到的結果轉換為數字
3 & 2=0111 & 0010=0010=2
二進制邏輯運算規則:
&: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,后面的表達式邏輯短路;若運行到函數且無返回值,則輸出None,且后面的表達式邏輯短路(不運行了);若表達式全正確,則輸出最后一個正確的結果。
例1:運行到表達式不正確就輸出False,后面的表達式邏輯短路
def print_1(): print(’已經運行這里了’)a = 99 and 3==1 and print_1()print(a)
輸出:
例2:若運行到函數且無返回值,則輸出None,且后面的表達式邏輯短路
def print_1(): print(’已經運行這里了’)a = 99 and 3==3 and print_1() and Falseprint(a)
輸出:
例3:若表達式全正確,則輸出最后一個正確的結果
def print_1(): print(’已經運行這里了’) return 1==1a = 99 and 3==3 and print_1() and 99print(a)
輸出:
2:or:從左到右運行,運行到表達式正確的就輸出這個表達式的結果,后面的表達式邏輯短路;若運行到函數且無返回值,則繼續運行后面的表達式;若表達式全不正確,則輸出False;
例1:運行到表達式正確的就輸出這個表達式的結果,后面的表達式邏輯短路
def print_1(): print(’已經運行這里了’)b = 99==1 or 3==3 or print_1()print(b)
輸出:
例2:若運行到函數且無返回值,則繼續運行后面的表達式
def print_1(): print(’已經運行這里了’)b = 99==1 or 3==1 or print_1() or 99print(b)
輸出:
例3:若表達式全不正確,則輸出False
def print_1(): print(’已經運行這里了’)b = 99==1 or 3==1 or print_1() or Falseprint(b)
輸出:
到此這篇關于python中邏輯與或(and、or)和按位與或異或(&、|、^)區別的文章就介紹到這了,更多相關python中邏輯與或(and、or)和按位與或異或(&、|、^)內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
