python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別
按位與或(&、|、^):按照二進(jìn)制進(jìn)行邏輯運(yùn)算例如:數(shù)字換成二進(jìn)制,各自位上的0/1進(jìn)行邏輯運(yùn)算,得到的結(jié)果轉(zhuǎn)換為數(shù)字
3 & 2=0111 & 0010=0010=2
二進(jìn)制邏輯運(yùn)算規(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。
代碼運(yùn)行順序:從上到下,從左到右
一:邏輯與或 (and、or)
1:and :從左到右運(yùn)行,運(yùn)行到表達(dá)式不正確就輸出False,后面的表達(dá)式邏輯短路;若運(yùn)行到函數(shù)且無返回值,則輸出None,且后面的表達(dá)式邏輯短路(不運(yùn)行了);若表達(dá)式全正確,則輸出最后一個正確的結(jié)果。
例1:運(yùn)行到表達(dá)式不正確就輸出False,后面的表達(dá)式邏輯短路
def print_1(): print(’已經(jīng)運(yùn)行這里了’)a = 99 and 3==1 and print_1()print(a)
輸出:
例2:若運(yùn)行到函數(shù)且無返回值,則輸出None,且后面的表達(dá)式邏輯短路
def print_1(): print(’已經(jīng)運(yùn)行這里了’)a = 99 and 3==3 and print_1() and Falseprint(a)
輸出:
例3:若表達(dá)式全正確,則輸出最后一個正確的結(jié)果
def print_1(): print(’已經(jīng)運(yùn)行這里了’) return 1==1a = 99 and 3==3 and print_1() and 99print(a)
輸出:
2:or:從左到右運(yùn)行,運(yùn)行到表達(dá)式正確的就輸出這個表達(dá)式的結(jié)果,后面的表達(dá)式邏輯短路;若運(yùn)行到函數(shù)且無返回值,則繼續(xù)運(yùn)行后面的表達(dá)式;若表達(dá)式全不正確,則輸出False;
例1:運(yùn)行到表達(dá)式正確的就輸出這個表達(dá)式的結(jié)果,后面的表達(dá)式邏輯短路
def print_1(): print(’已經(jīng)運(yùn)行這里了’)b = 99==1 or 3==3 or print_1()print(b)
輸出:
例2:若運(yùn)行到函數(shù)且無返回值,則繼續(xù)運(yùn)行后面的表達(dá)式
def print_1(): print(’已經(jīng)運(yùn)行這里了’)b = 99==1 or 3==1 or print_1() or 99print(b)
輸出:
例3:若表達(dá)式全不正確,則輸出False
def print_1(): print(’已經(jīng)運(yùn)行這里了’)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)文章:
1. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例2. asp畫中畫廣告插入在每篇文章中的實(shí)現(xiàn)方法3. 使用純HTML的通用數(shù)據(jù)管理和服務(wù)4. ASP編碼必備的8條原則5. asp中Request.ServerVariables的參數(shù)集合6. WMLScript腳本程序設(shè)計(jì)第1/9頁7. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera8. PHP反序列化漏洞實(shí)例深入解析9. ASP基礎(chǔ)知識Command對象講解10. PHP session反序列化漏洞深入探究
