python中的邏輯操作符


python中主要有三個邏輯操作符,分別是:and、or、not。

and:且,所有人為真才為真。

or:或,一個為正就是真。

not:非,取反。

>>> print(3>2 and 3 >4)
False      #所有人為真方為真
>>> print(3>2 and 3 >1)
True        
>>> print(3>2 or 3 > 4)
True         #一人為真就可真
>>> print(3>6 or 3 > 4)
False
>>> print(not False)
True      #取反
>>> print(not True)
False

邏輯操作符的優先級:()> not > and > or

同等優先級下,從左到右依次計算。

>>> print(2>1 and 3 < 4 or 4 > 5 and 2 <1)
優先級 真 or 假
                True
>>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
優先級 假 or 假 or 假
假 or 假
False
>>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7>6)
True
>>> print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
假 and
假 or 假 or 假

False

 小技巧:多個同樣的操作符放在一塊,一起判斷。

布爾值只有兩個False和True,False代表0,True代表1

除0和False以外所有的字符串和數字都為真

>>> bool(False)
False
>>> bool(1)
True
>>> bool(0)
False
>>> bool(10)
True
>>> bool('123wqeq')
True

以上所說得知識會在下面得到運用。

>>> print(3 or 4)
3
>>> print(2 or 4)
2
>>> print(0 or 4)
4
>>> print(-1 or 4)
-1
>>> print(3 and 4)
4
>>> print(2 and 4)
4
>>> print(0 and 4)
0
>>> print(-1 and 4)
4

總結:除了0代表假之外其余的全部都為真。關於3 or 4 為啥返回3,3 and 4返回4我也說不明白,只能做如下總結。

X or Y :真與假在一起返回真

>>> print(4 or 0)
4
>>> print(0 or 4)
4

               XY均為真,返回前面的

X and Y : 真與假在一起返回假

>>> print(4 and 0)
0
>>> print(0 and 4)
0

             :真和真在一起,返回后面的

>>> print(3 and 4)
4
>>> print(2 and 4)
4

看一個例子:

>>> print(0 and 3 or 4 or 1 or 2)
0為假,返回0
0 or 4有真返真,故返回4
4 or 1 or 2 全為真返回前面的
4
>>> print(3 or 3>2)
3                    #返回前面的,3>2可以看作內層計算,所以結果為True
>>> print(3>2 or 3)
True

 


免責聲明!

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



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