在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值和非空字符串也被视为真。
新闻热点
疑难解答