Python 逻辑运算符
Python 邏輯運算符可以用來操作任何類型的表達式,不管表達式是不是 bool 類型;同時,邏輯運算的結果也不一定是 bool 類型,它也可以是任意類型。
這點是和C/C++等語言不同的,C/C++語言中邏輯運算符的結果就是bool類型,即true或者false。
下面來一一介紹。
1. not 邏輯非
結果只有 True 和 False。not可以對符號右側的值進行非運算
1)對于布爾值,非運算會對其進行取反操作,True 變 False,False 變 True。
2)對于非布爾值,非運算會先將其轉換為布爾值,然后再取反。
a. 字符串,有內容為True,空字符串為 False 。
b. 數字,0 為 False ,其它 為 True 。
print(not 0) # True print(not 10) # False print(not -1) # False print(not '') # True2. and 邏輯與
and 可以對符號兩側的表達式進行與運算,它的兩側表達式的計算結果可以是 bool 類型,也可以是數字或者字符串。
我們將表達式的計算結果為 False、0、’’ 等統一描述為假,反之描述為真。and 的返回結果可以是任意類型,由表達式決定。
Python中的與運算是短路的與,它的邏輯規則如下:
1)如果左邊表達式的值為假,那么就不用計算右邊表達式的值了,此時 and 會把左邊表達式的值作為最終結果。
2)如果左邊表達式的值為真,那么最終值是不能確定的,and 會繼續計算右邊表達式的值,并將右邊表達式的值作為最終結果。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' print(1 and 1.2) # 1.2 print(False and 10) # False print(-1 and 0) # 0 print('' and "123") # ''3. or 邏輯或
or 可以對符號兩側的值進行或運算,與and類似,它的兩側表達式的計算結果可以是 bool 類型,也可以是數字或者字符串。
我們將表達式的計算結果為 False、0、’’ 等統一描述為假,反之描述為真。or 的返回結果可以是任意類型,由表達式決定。
Python中的或運算是短路的或,它的邏輯規則如下:
1)如果左邊表達式的值為真,那么就不用計算右邊表達式的值了,此時 or 會把左邊表達式的值作為最終結果。
2)如果左邊表達式的值為假,那么最終值是不能確定的,or 會繼續計算右邊表達式的值,并將右邊表達式的值作為最終結果。
print(1 or 1.2) # 1 print(False or 10) # 10 print(-1 or 0) # -1 print('' or "123") # "123"總結
以上是生活随笔為你收集整理的Python 逻辑运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python动态绑定属性和方法
- 下一篇: Python高阶函数和函数嵌套