在Python中,有三種邏輯運算符:邏輯與,邏輯或和邏輯非。它們用于邏輯運算并返回一個布爾值。
(1)and : 邏輯與
and運算需要兩個操作數(shù),如果參與運算的兩個操作數(shù)都為True,則結(jié)果為True,否則運算結(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中的運行結(jié)果如下:
從運算結(jié)果可以總結(jié)出:如果and左側(cè)操作數(shù)為False,則結(jié)果為False,否則為右側(cè)操作數(shù)的值。
(2)or : 邏輯或
邏輯or運算也需要兩個操作數(shù),如果參與or運算的兩個操作數(shù)有一個為True,則運算結(jié)果為True;兩個操作數(shù)都False時,則返回結(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中的運算結(jié)果如下:
可以看出,如果or左側(cè)操作數(shù)的值為True,則結(jié)果為True,否則為右側(cè)操作數(shù)的結(jié)果。
(3)not : 邏輯非
邏輯not的運算只需要一個操作數(shù),它對原邏輯值取反,即操作數(shù)為True時,非運算完后為False;原操作數(shù)為False時,非運算完后True。
b1 = True
b2 = False
print( not b1)
print( not b2)
其在Python3.8.2中的運算結(jié)果如下:
上面講的是三種運算符的基本使用方法。在Python中,三種邏輯運算符也可以運用到非布爾類型的數(shù)據(jù)中。
在Python中,非0的數(shù)值類型被視為真(True),0被視為假(False);非空字符串被視為真(True),空字符串被視為假(False)。
1、and:邏輯與
(1)數(shù)字參與的運算
b1 = 2
b2 = 3
b3 = 0
print(b1 and b2)
print(b1 and b3)
print(b3 and b1)
其在Python3.8.2中的運算結(jié)果如下:
可以簡單的概括為:如果and左側(cè)為0,則結(jié)果為0,否則返回右側(cè)操作數(shù)的值。
(2)字符串參與的運算
s1 = "VeVb.com"
s2 = "武林網(wǎng)VEVB"
s3 = ''
s4 = ''
print( s1 and s2)
print( s1 and s3)
print( s3 and s2)
print( s3 and s4)
其在Python3.8.2中的運算結(jié)果如下:
從運算結(jié)果可以簡單總結(jié):左操作數(shù)如果為空字符串,則返回空,否則為右側(cè)操作數(shù)的值。
2、or:邏輯或
(1)數(shù)字參與的運算
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中的運算結(jié)果如下:
從上面的運算結(jié)果可以總結(jié):如果or左側(cè)的操作數(shù)是非0值,則返回左側(cè)的數(shù)值,否則返回右側(cè)操作數(shù)的值。
(2)字符串參與的運算
s1 = "武林網(wǎng)VEVB"
s2 = "VeVb.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中的運算結(jié)果如下:
從上面結(jié)果可以總結(jié):如果or左側(cè)操作數(shù)為非空字符串,則返回左操作數(shù)的值,否則返回右側(cè)操作數(shù)的值。
3、not:邏輯非
(1)有數(shù)字參與的運算
從上面可以看出:非0值取反后結(jié)果為False,0值取反后結(jié)果為True。
(2)有字符串參與的運算
從上面的運算結(jié)果來看:非空字符串取反后結(jié)果為False,空字符串取反后結(jié)果為True。
(1)邏輯與,and運算,左操作數(shù)為假時,則返回左操作數(shù)的值,否則返回右操作數(shù)的值;
(2)邏輯或,or運算,左操作數(shù)為真時,則返回左操作數(shù)的值,否則返回右操作數(shù)的值;
(3)邏輯非,not運算,操作數(shù)的值為假時,則結(jié)果為真,否則為假。
在Python中,除布爾值 False外,0和空字符串也被視為假;除布爾值True外,非0值和非空字符串也被視為真。
新聞熱點
疑難解答
圖片精選