1. 程式人生 > >Python邏輯運算符

Python邏輯運算符

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邏輯運算符