python中not、and和or的優先順序與詳細用法介紹
前言
(小白專用)本次所分享的是Python中的not、and、or的執行時的優先順序,以及他們的具體用法。本文比較詳細,不喜勿噴。
一、not、and、or的含義以及優先順序
物件 | 返回結果 | 優先順序 |
---|---|---|
not x | if x is false,then True,else False | 1 |
x and y | if x is false,then x,else y | 2 |
x or y | if x is false,then y,else x | 3 |
含義:not是 “非” ;and是 “與” ;or是 “或” (可以用數學去理解)
1、not True = False 或者 not False = True (非真就是假,非假即真)
2、and是一假則假,兩真為真,兩假則假
3、or是一真即真,兩假即假,兩真則真
優先順序是 not > and > or
程式碼如下(示例):
x=1 #將x賦值為1 y=0 #將y賦值為0 z=0 #將z賦值為0 print(x or y and not z) ''' 輸出結果為 1 '''
小提示: 我們知道在程式語言中“非0即是True”,也就是“0為False,1為True”
- 由於優先順序是not>and>or,所以首先執行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
最後一步按優先順序是輪到了or,即 x or 0(已知x=1),
即 1 or 0 =True or Flase =True = 1(or即“或”中,一真即真)
所以輸出結果為 1
- 總結: 程式碼運算過程為: (用數學符號表示優先順序)
{ x or [ y and (not z) ] }
二、not、and、or的使用方法
1.not
if x is false,else False
如果x為False則not x 為True,否則為False
(如果x是假的,則“非假”為真,否則x是真的,則非真為假)
在程式設計中是 布林運算,即返回值是True 或者 False
程式碼如下(示例):
print(not 0,not 1,not True,not False) ''' 輸出結果為: True False False True '''
2.and
and運算後的返回結果:
從左到右計算表示式,若所有的都為真,則返回最後一個值,若存在假,返回第一個值。
簡單理解:
and的目的是找到並返回第一個False(假)或最後一個True(真) (從左往右找)(一假即假,兩真即真)
程式碼如下(示例):
1、找到並返回第一個False(假)
print(1 and 2 and 0 and 4 and False) ''' 輸出結果為: 0 '''
因為and是找到第一個False(假),我們知道在計算機中,
False即為0,所以輸出結果是 0
2、找到並返回最後一個True(真)
print(1 and 2 and True and 4 and 6) print(2 and 5 and True and 7 and True) ''' 輸出結果為: 6 True '''
因為 1,2,True,4,6 都不是0,我們知道 非零True,所以都是 真的,那麼輸出最後一個真值,所以輸出結果為 6
因為 2,5,7,True 都不是0,都是真的,同理輸出最後一個真值,所以輸出結果為 True
3.or
or運算後的返回結果:
從左到右計算表示式,只要遇到真值就返回那個真值,如果表示式結束依舊沒有遇到真值,就返回最後一個假值。
簡單理解:
or的目的是找到並返回第一個True(真)或最後一個False(假) (從左往右找)(一真即真,兩假即假)
程式碼如下(示例):
1、找到並返回第一個True(真)
print(0 or 0 or '' or 8 or 1 ) ''' 輸出結果為: 8 '''
小提示:
- 在python中, [ ] 或者 ' ' 或者 ( ) 或者 None 都是空的意思,
空也為假,即 空 = 假 = False
- 由上面的程式碼可以看到,有兩個真值分別是 8和1,但我們要找到作用範圍內的第一個真值(True),即第一個為8,所
以輸出結果為 8
2、找到並返回最後一個False(假)
print([] or 0 or '' or None or () ) ''' 輸出結果為: () '''
小提示:
- 在python中, [ ] 或者 ' ' 或者 ( ) 或者 None 都是空的意思,
空也為假,即 空 = 假 = False - 此處可以知道,程式碼中都為假(False),所以要找到最後一個假(False)並返回這個值。最後一個是()所以輸出結果為 ()
總結
- 優先順序是 not > and > or
- not:如果x是假的,則“非假”為真,否則x是真的,則非真為假
- and: 找到並返回第一個False(假)或最後一個True(真)
- or: 找到並返回第一個True(真)或最後一個False(假)
到此這篇關於python中not、and和or的優先順序與詳細用法介紹的文章就介紹到這了,更多相關python中not、and和or優先順序與用法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!