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ù)且無(wú)返回值,則輸出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ù)且無(wú)返回值,則輸出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ù)且無(wú)返回值,則繼續(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ù)且無(wú)返回值,則繼續(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. CentOS郵箱服務(wù)器搭建系列——SMTP服務(wù)器的構(gòu)建( Postfix )2. PHP基礎(chǔ)之生成器4——比較生成器和迭代器對(duì)象3. ASP新手必備的基礎(chǔ)知識(shí)4. Docker 啟動(dòng)Redis 并設(shè)置密碼的操作5. asp文件用什么軟件編輯6. 通過IEAD+Maven快速搭建SSM項(xiàng)目的過程(Spring + Spring MVC + Mybatis)7. JS中6個(gè)對(duì)象數(shù)組去重的方法8. vue+element開發(fā)一個(gè)谷歌插件的全過程9. 利用CSS制作3D動(dòng)畫10. Vue axios獲取token臨時(shí)令牌封裝案例

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