首页 > 开发 > Python > 正文

Python运算符之逻辑运算符

2023-04-27 19:03:20
字体:
来源:转载
供稿:网友

在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中的运行结果如下:

Python中逻辑与运算符

从运算结果可以总结出:如果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中的运算结果如下:

Python中的or运算符

可以看出,如果or左侧操作数的值为True,则结果为True,否则为右侧操作数的结果。

(3)not : 逻辑非

逻辑not的运算只需要一个操作数,它对原逻辑值取反,即操作数为True时,非运算完后为False;原操作数为False时,非运算完后True。

b1 = True
b2 = False
print( not b1)
print( not b2)

其在Python3.8.2中的运算结果如下:

Python中的not运算符

上面讲的是三种运算符的基本使用方法。在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中的运算结果如下:

Python中有数字参与的逻辑与运算

可以简单的概括为:如果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中的运算结果如下:

Pythong中的and运算符有字符串参与运算的情况

从运算结果可以简单总结:左操作数如果为空字符串,则返回空,否则为右侧操作数的值。

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中的运算结果如下:

Python中有数字参与的逻辑或运算

从上面的运算结果可以总结:如果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中的运算结果如下:

Python中有字符串参与的or运算

从上面结果可以总结:如果or左侧操作数为非空字符串,则返回左操作数的值,否则返回右侧操作数的值。

3、not:逻辑非

(1)有数字参与的运算

Python中有数字参与的逻辑非运算

从上面可以看出:非0值取反后结果为False,0值取反后结果为True。

(2)有字符串参与的运算

从上面的运算结果来看:非空字符串取反后结果为False,空字符串取反后结果为True。

三、结论

(1)逻辑与,and运算,左操作数为假时,则返回左操作数的值,否则返回右操作数的值;

(2)逻辑或,or运算,左操作数为真时,则返回左操作数的值,否则返回右操作数的值;

(3)逻辑非,not运算,操作数的值为假时,则结果为真,否则为假。

在Python中,除布尔值 False外,0和空字符串也被视为假;除布尔值True外,非0值和非空字符串也被视为真。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表