Python 中 and, or, &, |, ^ 的使用小結(jié)
在Python中,0,“”,[],(),{},None,F(xiàn)alse為假值,其余為真值。
and 和 or
and布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。or布爾"或" - 如果 x 是非 0,它返回 x 的計算值,否則它返回 y 的計算值。
其中and和or還有以下運算規(guī)律:
- and和or返回的是比較的值
- and的優(yōu)先級大于or
- 多個and的話,如果全為真,則返回最后一個值。如果其中有一個為假,則返回該假值
- 多個or的話,如果有一個為真,則返回第一個真值。 如果全為假,則返回最后一個假值
例子:
11 and 12 and 13 # 13 [] and 3 # [] None and 3 # 沒有輸出(None) 3 and 5 or 2 # 5 20 or False # 20 (3 < 2) and 5 # False (3 > 2) and 5 or 1 # 5 (3 < 2) and 5 or 1 # 1 1 and 2 and 0 and 4 and False # 0 1 and 2 and True and 4 and 6 # 6 0 or False or '' or 8 or 1 # 8 [] or 0 or '' or None or () # ()
如果有not,優(yōu)先級更高:not>and>or
例子:
x=1 #將x賦值為1
y=0 #將y賦值為0
z=0 #將z賦值為0
print(x or y and not z) # 1
- 由于優(yōu)先級是not>and>or,所以首先執(zhí)行not z(也就是not 0),即 not 0 = not False =True =1
- 下一步是輪到了and,那么 y and 1(已知y=0)即 0 and 1,也就是False and True(假與真),我們剛剛談過and,一假即假,故y and 1 = 0 and 1 = False = 0
- 最后一步按優(yōu)先級是輪到or,即x or 0(已知x=1),即1 or 0 =True or Flase =True = 1(or即“或”中,一真即真)
所以輸出結(jié)果為 1。
總結(jié): 代碼運算過程為:(用數(shù)學(xué)符號表示優(yōu)先級)
{ x or [ y and (not z) ] }
&,|,^
如果兩邊是數(shù)值變量時:
&按位與運算符:參與運算的兩個值,如果對應(yīng)二個二進位都為1,則該位的結(jié)果為1,否則為0。|按位或運算符:只要對應(yīng)的二個二進位有一個為1時,結(jié)果位就為1。^按位異或運算符:當(dāng)兩對應(yīng)的二進位相異時,結(jié)果為1。
例子:
a = 3 & 5 # a = 1 (011 and 101 = 001)
b = 6 ^ 2 # b = 4 (110 xor 010 = 100)
c = 4 | 3 # c = 7 (100 or 011 = 111)
兩邊是邏輯變量時
如果兩邊是邏輯變量時,則兩類的用法基本一致.
例子:
(3>0) | (3<1) # True (3>0) or (3<1) # True (3>0) & (3<1) # False (3>0) and (3<1) # False
到此這篇關(guān)于Python 中 and, or, &, |, ^ 的使用的文章就介紹到這了,更多相關(guān)Python and, or, &, |, ^ 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用gRPC實現(xiàn)數(shù)據(jù)分析能力的共享
gRPC是一個高性能、開源、通用的遠程過程調(diào)用(RPC)框架,由Google推出,本文主要介紹了Python如何使用gRPC實現(xiàn)數(shù)據(jù)分析能力的共享,感興趣的可以了解下2024-02-02
python實現(xiàn)獲取aws route53域名信息的方法
最近由于工作原因接觸到aws的服務(wù),我需要實時獲取所有的域名信息,用于對其進行掃描,因此寫了一個自動化爬取腳本 給需要的人分享,對python獲取aws route53域名信息相關(guān)知識感興趣的朋友一起看看吧2023-12-12
http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長鏈接方式
這篇文章主要介紹了http通過StreamingHttpResponse完成連續(xù)的數(shù)據(jù)傳輸長鏈接方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Python調(diào)用騰訊云短信服務(wù)發(fā)送手機短信
這篇文章主要為大家介紹了Python調(diào)用騰訊云短信服務(wù)發(fā)送手機短信,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
python?matplotlib繪畫十一種常見數(shù)據(jù)分析圖
這篇文章主要介紹了python?matplotlib繪畫十一種常見數(shù)據(jù)分析圖,文章主要繪制折線圖、散點圖、直方圖、餅圖等需要的小伙伴可以參考一下文章具體內(nèi)容2022-06-06
JPype實現(xiàn)在python中調(diào)用JAVA的實例
本篇文章主要介紹了JPype實現(xiàn)在python中調(diào)用JAVA的實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
Python實現(xiàn)Web應(yīng)用國際化i18n的示例詳解
這篇文章主要為大家詳細介紹了如何基于Python的gettext模塊,實現(xiàn)一個靈活、可擴展的多語言支持系統(tǒng),文中的示例代碼講解詳細,有需要的可以參考下2025-02-02
跟老齊學(xué)Python之用while來循環(huán)
while,翻譯成中文是“當(dāng)...的時候”,這個單詞在英語中,常常用來做為時間狀語,while ... someone do somthing,這種類型的說法是有的。2014-10-10
Python 模擬員工信息數(shù)據(jù)庫操作的實例
下面小編就為大家?guī)硪黄狿ython 模擬員工信息數(shù)據(jù)庫操作的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

