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 False print(a)
輸出:
例3:若表達(dá)式全正確,則輸出最后一個(gè)正確的結(jié)果
def print_1(): print('已經(jīng)運(yùn)行這里了') return 1==1 a = 99 and 3==3 and print_1() and 99 print(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 99 print(b)
輸出:
例3:若表達(dá)式全不正確,則輸出False
def print_1(): print('已經(jīng)運(yùn)行這里了') b = 99==1 or 3==1 or print_1() or False print(b)
輸出:
到此這篇關(guān)于python中邏輯與或(and、or)和按位與或異或(&、|、^)區(qū)別的文章就介紹到這了,更多相關(guān)python中邏輯與或(and、or)和按位與或異或(&、|、^)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python中and和or邏輯運(yùn)算符的用法示例
- python中not、and和or的優(yōu)先級與詳細(xì)用法介紹
- 解決Python 異常TypeError: cannot concatenate ''str'' and ''int'' objects
- 淺談Python中(&,|)和(and,or)之間的區(qū)別
- python and or用法詳解
- Python中的random.uniform()函數(shù)教程與實(shí)例解析
- python實(shí)現(xiàn)隨機(jī)森林random forest的原理及方法
- Python 中 and, or, &, |, ^ 的使用小結(jié)
相關(guān)文章
Python實(shí)現(xiàn)字符串匹配的KMP算法
KMP算法的關(guān)鍵是利用匹配失敗后的信息,盡量減少模式串與主串的匹配次數(shù)以達(dá)到快速匹配的目的。這篇文章主要介紹了Python實(shí)現(xiàn)字符串匹配的KMP算法,需要的朋友可以參考下2019-04-04python 通過SSHTunnelForwarder隧道連接redis的方法
今天小編就為大家分享一篇python 通過SSHTunnelForwarder隧道連接redis的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02探索Python int()函數(shù)傳入中文或者字符串會(huì)發(fā)生什么
這篇文章主要為大家介紹了Python int()函數(shù)傳入中文或者字符串會(huì)發(fā)生什么,詳細(xì)討論int()函數(shù)的常規(guī)使用以及它如何處理異常輸入,特別是涉及字符串和中文字符的情況2024-01-01python實(shí)現(xiàn)AES算法及AES-CFB8加解密源碼
這篇文章主要為大家介紹了python實(shí)現(xiàn)AES算法及AES-CFB8加解密的源碼示例,有需要朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02Django利用Cookie實(shí)現(xiàn)反爬蟲的例子
這篇文章主要介紹了Django利用Cookie實(shí)現(xiàn)反爬蟲,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04Pytorch DataLoader shuffle驗(yàn)證方式
這篇文章主要介紹了Pytorch DataLoader shuffle驗(yàn)證方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06