Python邏輯運算符
阿新 • • 發佈:2018-08-19
als 邏輯運算 nbsp 返回 簡單 優先級 col bsp 比較運算符
and or not
優先級:() > and > or > not
1.or
在python中,邏輯運算符or,x or y, 如果x為True則返回x,如果x為False返回y值。因為如果x為True那麽or運算就算退出看l,一個為真則為真,所以返回x的值。如果x的值為假,那麽or運算的結果取決於y,所以返回y的值。
1 print(1 or 2) # 1 2 print(3 or 2) # 3 3 print(0 or 2) # 2 4 print(0 or 100) # 100 5 print(0 or 0)
2.and
在python中,邏輯運算符and,x and y,如果x為True則返回y值。如果x為False則返回y值。如果x的值為True,and的運算不會結束,會繼續看y的值,所以此時真與假取決於y的值,所以x如果為真,則返回y的值。如果x為假,那麽and運算就會結束運算過程了,因為有一個為假則and為假,所以返回x的值。
print(1 and 2) # 2 print(3 and 0) # 0 print(0 and 2) # 0 print(3 and 2) # 2 print(0 and 0) # 0
3.混合例子與解析
print(1 > 2 and 3 or 4 and 3 < 2) # False or False -> False
按照從左向由,優先級高的先執行優先級高的規則,首先因為比較運算符優先級高於邏輯運算符,很簡單,如果運算符低於了邏輯運算符優先級那還如何運算呢。and 優先級大於 or
1 > 2 為 False
3 < 2 為 False
Flase and 3,因為False為假所以and不在運算直接返回False
4 and False,因為4為真所以and運算符會繼續運算後面的,以False為主,所以返回False。
False or False,因為False為假,所以or運算符會繼續運算後面的,以False為主,所以返回後面的False值
Python邏輯運算符