python逻辑运算符不懂_Python运算符之逻辑运算符
在Python中,有三種邏輯運(yùn)算符:邏輯與,邏輯或和邏輯非。它們用于邏輯運(yùn)算并返回一個(gè)布爾值。
1、基本用法
(1)and : 邏輯與
and運(yùn)算需要兩個(gè)操作數(shù),如果參與運(yùn)算的兩個(gè)操作數(shù)都為T(mén)rue,則結(jié)果為T(mén)rue,否則運(yùn)算結(jié)果為False。
b1 = True
b2 = True
b3 = False
b4 = False
print( b1 and b2)
print( b1 and b3)
print( b3 and b1)
print( b3 and b4)
其在Python3.8.2中的運(yùn)行結(jié)果如下:
從運(yùn)算結(jié)果可以總結(jié)出:如果and左側(cè)操作數(shù)為False,則結(jié)果為False,否則為右側(cè)操作數(shù)的值。
(2)or : 邏輯或
邏輯or運(yùn)算也需要兩個(gè)操作數(shù),如果參與or運(yùn)算的兩個(gè)操作數(shù)有一個(gè)為T(mén)rue,則運(yùn)算結(jié)果為T(mén)rue;兩個(gè)操作數(shù)都False時(shí),則返回結(jié)果False.
b1 = True
b2 = True
b3 = False
b4 = False
print( b1 or b2)
print( b2 or b3)
print( b3 or b4)
print( b3 or b1)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
可以看出,如果or左側(cè)操作數(shù)的值為T(mén)rue,則結(jié)果為T(mén)rue,否則為右側(cè)操作數(shù)的結(jié)果。
(3)not : 邏輯非
邏輯not的運(yùn)算只需要一個(gè)操作數(shù),它對(duì)原邏輯值取反,即操作數(shù)為T(mén)rue時(shí),非運(yùn)算完后為False;原操作數(shù)為False時(shí),非運(yùn)算完后True。
b1 = True
b2 = False
print( not b1)
print( not b2)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
上面講的是三種運(yùn)算符的基本使用方法。在Python中,三種邏輯運(yùn)算符也可以運(yùn)用到非布爾類型的數(shù)據(jù)中。
二、邏輯運(yùn)算符用于非布爾數(shù)據(jù)類型
在Python中,非0的數(shù)值類型被視為真(True),0被視為假(False);非空字符串被視為真(True),空字符串被視為假(False)。
1、and:邏輯與
(1)數(shù)字參與的運(yùn)算
b1 = 2
b2 = 3
b3 = 0
print(b1 and b2)
print(b1 and b3)
print(b3 and b1)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
可以簡(jiǎn)單的概括為:如果and左側(cè)為0,則結(jié)果為0,否則返回右側(cè)操作數(shù)的值。
(2)字符串參與的運(yùn)算
s1 = "biye5u.com"
s2 = "翔宇亭IT樂(lè)園"
s3 = ''
s4 = ''
print( s1 and s2)
print( s1 and s3)
print( s3 and s2)
print( s3 and s4)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
從運(yùn)算結(jié)果可以簡(jiǎn)單總結(jié):左操作數(shù)如果為空字符串,則返回空,否則為右側(cè)操作數(shù)的值。
2、or:邏輯或
(1)數(shù)字參與的運(yùn)算
b1 = 2
b2 = 3
b3 = 0
b4 = 0
print( b1 or b2)
print( b2 or b1)
print( b2 or b3)
print( b3 or b2)
print( b3 or b4)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
從上面的運(yùn)算結(jié)果可以總結(jié):如果or左側(cè)的操作數(shù)是非0值,則返回左側(cè)的數(shù)值,否則返回右側(cè)操作數(shù)的值。
(2)字符串參與的運(yùn)算
s1 = "翔宇亭IT樂(lè)園"
s2 = "biye5u.com"
s3 = ''
s4 = ''
print( s1 or s2)
print( s2 or s1)
print( s1 or s3)
print( s3 or s2)
print( s3 or s4)
其在Python3.8.2中的運(yùn)算結(jié)果如下:
從上面結(jié)果可以總結(jié):如果or左側(cè)操作數(shù)為非空字符串,則返回左操作數(shù)的值,否則返回右側(cè)操作數(shù)的值。
3、not:邏輯非
(1)有數(shù)字參與的運(yùn)算
從上面可以看出:非0值取反后結(jié)果為False,0值取反后結(jié)果為T(mén)rue。
(2)有字符串參與的運(yùn)算
從上面的運(yùn)算結(jié)果來(lái)看:非空字符串取反后結(jié)果為False,空字符串取反后結(jié)果為T(mén)rue。
三、結(jié)論
(1)邏輯與,and運(yùn)算,左操作數(shù)為假時(shí),則返回左操作數(shù)的值,否則返回右操作數(shù)的值;
(2)邏輯或,or運(yùn)算,左操作數(shù)為真時(shí),則返回左操作數(shù)的值,否則返回右操作數(shù)的值;
(3)邏輯非,not運(yùn)算,操作數(shù)的值為假時(shí),則結(jié)果為真,否則為假。
在Python中,除布爾值 False外,0和空字符串也被視為假;除布爾值True外,非0值和非空字符串也被視為真。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python逻辑运算符不懂_Python运算符之逻辑运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python元组类型_什么是python
- 下一篇: matlab 随机森林算法_(六)如何利