Python邏輯運算符


  and or not 

  優先級:() > not > and > or

 

  1.or

  在python中,邏輯運算符or,x or y, 如果x為True則返回x,如果x為False返回y值。因為如果x為True那么or運算就不需要在運算了,因為一個為真則為真,所以返回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 or not 4 > 5)   

  按照從左向由,優先級高的先執行優先級高的規則,首先因為比較運算符優先級高於邏輯運算符,很簡單,如果運算符低於了邏輯運算符優先級那還如何運算呢。and 優先級大於 or,not優先級大於and和or

  not 4 > 5 為True

       1 > 2 為 False

  3 <  2 為 False

  Flase and 3,因為False為假所以and不在運算直接返回False

  4 and False,因為4為真所以and運算符會繼續運算后面的,以False為主,所以返回False。

       False or False,為False

  False or True,為True

  False or False,因為False為假,所以or運算符會繼續運算后面的,以False為主,所以返回后面的False值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM