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