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á)式全正確,則輸出最后一個(gè)正確的結(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á)式全正確,則輸出最后一個(gè)正確的結(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á)式正確的就輸出這個(gè)表達(dá)式的結(jié)果,后面的表達(dá)式邏輯短路;若運(yùn)行到函數(shù)且無返回值,則繼續(xù)運(yùn)行后面的表達(dá)式;若表達(dá)式全不正確,則輸出False;
例1:運(yùn)行到表達(dá)式正確的就輸出這個(gè)表達(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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. XML入門的常見問題(三)2. XML 非法字符(轉(zhuǎn)義字符)3. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別4. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)5. 關(guān)于html嵌入xml數(shù)據(jù)島如何穿過樹形結(jié)構(gòu)關(guān)系的問題6. 前端html+css實(shí)現(xiàn)動(dòng)態(tài)生日快樂代碼7. 不要在HTML中濫用div8. el-input無法輸入的問題和表單驗(yàn)證失敗問題解決9. JSP取得在WEB.XML中定義的參數(shù)10. WMLScript的語法基礎(chǔ)
