導航:首頁 > 編程語言 > python邏輯運算符怎麼計算

python邏輯運算符怎麼計算

發布時間:2023-10-04 22:18:57

python中and、or和not 三個邏輯運算符,一直理解不了,求幫助!

『and』、『or』和『not』的優先順序是not>and>or

㈡ Python教程:第19篇 邏輯運算符

我們在高一時學習過命題的邏輯運算:與、或、非,在計算機科學中,其運算規則也是類似的(基本原理相同,但操作數與返回結果有所不同),Python也不例外。

在Python中,與用and、或用or、非用not表示。邏輯運算符一般用於操作返回值為bool類型的表達式,以表達式的值True(真)和False(假)為例。其運算規則總覽如下:

需要特別注意的是,在Python中,雖然邏輯運算符的操作數一般是運算結果為邏輯值的表達式,但也可以是運算結果為數值、字元串、元組、列表、集合、字典等類型的表達式。返回值也不一定是邏輯(bool)類型。而有些教程錯誤地稱只能操作bool類型的表達式以及始終返回bool類型。

我們可以用兩個not查看某種數據等價的邏輯值,下面是一些常見數據類型的等價規則:

一、數值除了0視為False,其餘數值(包括小數、負數、復數)均視為True:

二、字元串除了空字元串視為False外,其餘均視為True(包括空格、製表、換行、回車等空白符,也包括字元串'False'):

三、對於元組、列表、集合、字典也是如此,空的視為False,非空的均視為True,即使其中只有一個值為False或0的數據:

有一種情況容易產生誤解,就是使用小括弧將False包圍起來,這其實也是表示bool值,而不是元組,元組是使用小括弧包圍的數據列表,但是如果只有一個成員,數據後面要加一個逗號,正如上述示例中所示那樣,下面的示例顯示了小括弧包圍的False的數據類型:

四、對於一個類也是如此,非空類視為True(註:無法創建什麼都不包含的空類):

五、None視為False:

總結一下就是: 數值0、空字元串、空元組、空列表、空集合、空字典以及None,均視為邏輯值False,其餘均視為True。

需要注意的是,邏輯運算符的返回值不一定是bool類型。

了解了非bool類型的操作數等價的邏輯值之後,還需要了解邏輯運算符的完全運算規則,才能得知具體會返回什麼值。

and為邏輯與(也稱邏輯且),其使用語法如下:

表達式A and 表達式B

其中操作數表達式A和表達式B一般均為邏輯值。但也可以是數值、字元串、元組、列表、集合、字典、對象等類型。

其運算通用規則為: 如果 表達式A 的運算結果等價於False,返回其運算結果,不再計算表達式B。否則返回 表達式B 的運算結果。

對於最常用的兩個操作數均為邏輯值的情況,只有當兩個操作數均為True的情況下為True,其餘情況均為False,以下是所有四種可能情況的運行示例:

其中兩個操作數也都可以是非邏輯值。

當第1個操作數結果等價於False時,比如False、0、None、空字元串、空元組、空列表、空集合、空字典等,整個邏輯表達式返回第1個操作數,注意,返回的是操作數的原始值,而不是等價值False,下面是運行示例(None表示什麼也沒有,所以沒有輸出。set()返回空集合):

當第1個操作數等價於True時(非數值0、非空字元串等都等價於True),則不管第2個表達式的返回值是什麼,都將返回第2個值,當然這時第2個表達式不能有語法錯誤:

or為邏輯或,其使用格式如下:

表達式A or 表達式B

其中操作數表達式A和表達式B與and中的操作數含義相同。

其運算通用規則為: 如果 表達式A 的運算結果等價於True,返回其運算結果,不再計算表達式B。否則返回 表達式B 的運算結果。 其與and的區別在於,or當表達式A為True則返回表達式A,and當其為False時返回表達式A。

以上面and的示例為模板,可以看到,or與and的返回值正好相反。

與and類似,當表達式A相當於True時,表達式B也不會計算:

下面是常見的兩個操作數均為邏輯值的情況,or運算符的四種可能情況的運行示例(除非兩個值都是False時返回False,其餘情況返回True):

not為邏輯非,其使用格式如下:

not 表達式

其運算規則為: 當 表達式 的運算結果為False、0、None、空字元串、空元組、空列表、空集合、空字典時,返回True。其餘情況均返回False。

下面是一些不同數據類型的運算示例:

與and和or不同的是,not的返回值始終是bool類型,即只有True和False兩種可能的取值。

所以,可以使用not not 表達式來查看一個非邏輯值是等價True還是False,正如上文非邏輯操作數等價的邏輯值中所示的那樣。

當然,not最常用的用法還是逆轉邏輯值,下面是兩種可能情況的運行示例:

邏輯運算符優先順序not>and>or。

下面的示例證明and先於or運算:

下面的示例證明not先於or運算:

下面的示例證明not先於and運算:

另外,所有的邏輯運算符都比元組逗號分隔符的優先順序要高,以and為例,比如下面是一個元組:

下面的例子中:

先計算了3 and 4,然後再組合成了元組,相當於:

而不是:

not與or的優先順序也比其要高,下面是示例:

所以雖然元組有時可以省略小括弧,但在與邏輯運算符運算時,元組請始終使用小括弧。

這篇文章的整理與編寫花費了我近十小時時間,從上午寫到晚上。是我目前最具匠心的文章,如果說以前我的文章只適合初學者,偶爾超水平發揮才適合中級學者,那麼這篇文章我感覺對高水平人員也有重要的參考意義。

就我目前所知,我所寫的教程,在全網找不到第二個比它更優秀的了,當然,每個人心中都有一桿稱,不同讀者可能也有不同的際遇,我能做的只是做好自己。

所以,如果你覺得此文不錯,可以分享給你身邊的朋友、同學、同事、同鄉,世界很大也很小,很多東西,初見只能依靠緣分。而再見就需要你的主動了,緣分天註定,努力亦可改變命運。

Python教程:第11篇 變數賦值

Python教程:第17篇 比較運算符

Python教程:第18篇 算術運算符

㈢ python中 *= 是什麼意思

1、兩個值相加,然後返回值給符號左側的變數

舉例如下:

>>> a=1

>>> b=3

>>> a+=b(或者a+=3)

>>> a

4

2、用於字元串連接(變數值帶引號,數據類型為字元串)

>>> a='1'

>>> b='2'

>>> a+=b

>>> a

'12'

8、運算符優先順序

以下所列優先順序順序按照從低到高優先順序的順序;同行為相同優先順序。

Lambda #運算優先順序最低

邏輯運算符: or

邏輯運算符: and

邏輯運算符:not

成員測試: in, not in

同一性測試: is, is not

比較: <,<=,>,>=,!=,==

按位或: |

按位異或: ^

按位與: &

移位: << ,>>

加法與減法: + ,-

乘法、除法與取余: *, / ,%

正負號: +x,-x

具有相同優先順序的運算符將從左至右的方式依次進行,用小括弧()可以改變運算順序。

參考資料來源:網路-Python

㈣ Python邏輯運算符and

and和or表達式的值是第一個能決定整個表達式是否成立的那個操作數的值。舉例:
3 and 4:第一個操作數3為真,但不能保證and成立,還要看第二個操作數4;4也為真,此時可以確定and一定成立,因此這個表達式的值是4。
'hello' and [] and 'world':第一個操作數'hello'為真,但不能保證and成立;第二個操作數[]為假,此時可以確定and一定不成立,因此這個表達式的值是[]。
'a' or 'b' or 'c' or 'd':第一個操作數a為真,此時可以確定or一定成立,因此這個表達式的值是'a'。
1 and 2 or 3 and 4:and的優先順序高於or,因此先求左邊的1 and 2,這個子表達式的值是2,2為真,可以確定or一定成立,因此整個表達式的值是2。

㈤ 我們學習過的python中的邏輯運算符有哪些它們的運算規則如何

and :布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。

or :布爾"或" - 如果 x 是非 0,它返回 x 的計算值,否則它返回 y 的計算值。

not :布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。

需要詳細講解或實例請追問。

順便推薦兩個自學網站菜鳥教程 - 學的不僅是技術,更是夢想!W3school在線教程

內有豐富的編程基礎知識。比如Python 邏輯運算符 | 菜鳥教程Python 運算符 - W3school

比在網上提問等人回答快多了也准確多了,對吧?

㈥ Python中+=是什麼意思

1、兩個值相加,然後返回值給符號左側的變數

舉例如下:

>>> a=1

>>> b=3

>>> a+=b(或者a+=3)

>>> a

4

2、用於字元串連接(變數值帶引號,數據類型為字元串)

>>> a='1'

>>> b='2'

>>> a+=b

>>> a

'12'

8、運算符優先順序

以下所列優先順序順序按照從低到高優先順序的順序;同行為相同優先順序。

Lambda #運算優先順序最低

邏輯運算符: or

邏輯運算符: and

邏輯運算符:not

成員測試: in, not in

同一性測試: is, is not

比較: <,<=,>,>=,!=,==

按位或: |

按位異或: ^

按位與: &

移位: << ,>>

加法與減法: + ,-

乘法、除法與取余: *, / ,%

正負號: +x,-x

具有相同優先順序的運算符將從左至右的方式依次進行,用小括弧()可以改變運算順序。

參考資料來源:網路-Python

㈦ Python中的邏輯運算符有哪些呢

關鍵是一個變數/值是「相當於」True還是False。
None、False、空字元串""、0、空列表[]、空字典{}、空元組(),都相當於False。其它的都相當於True。

先說 A or B 。
如果A相當於True,那麼返回A。否則,返回B。
所以,如果A和B都是False,那麼A and B也是False (False or False == False)。

除了做布爾值的判斷,C = A or B 這種寫法,常用於不確定A是否為空值時,把B作為候補來賦值給C。

A and B相反。如果A相當於True,那麼返回B。否則,返回A。
所以,只有A和B都是True時,A and B才是True (True and True == True)。

㈧ python中邏輯運輸符在數字間是怎麼運算的

and 是短路運算符,python中,非0值都代表邏輯真,邏輯運算時返回最後運算的結果。例如: 5 and 2 ,返回最後運算的2。 2 and 5,返回5。 5 and 0,返回0。 0 and 5,還是返回0。因為0代表假,and 不再進行運算了,直接被短路,返回0

閱讀全文

與python邏輯運算符怎麼計算相關的資料

熱點內容
程序員投行 瀏覽:313
java多線程讀取文件 瀏覽:145
香港外貿伺服器有什麼好處 瀏覽:612
鄧倫參加密室大逃脫結果變成團寵 瀏覽:847
購買文件伺服器怎麼選擇 瀏覽:720
空調壓縮機高壓報警 瀏覽:498
u盤數控程序放哪個文件夾 瀏覽:853
python模擬微信登錄其他APP 瀏覽:301
綁扎鋼筋加密區規范 瀏覽:671
怎麼更換手機壁紙安卓 瀏覽:808
閑魚app賣手機怎麼走驗機 瀏覽:821
安卓三個按鍵音怎麼關閉 瀏覽:64
esp8266手機app源碼 瀏覽:713
伺服器如何建立多個站點 瀏覽:151
加密狗可以在筆記本上做賬嗎 瀏覽:888
學生雲伺服器推薦 瀏覽:509
android銀行卡快捷支付 瀏覽:828
海口手機直播系統源碼 瀏覽:416
怎麼給加密貨幣加圖標 瀏覽:999
phpheader編碼 瀏覽:766