软件测试/人工智能丨逻辑运算符

177 阅读2分钟

逻辑运算符一般用来解决当有多个关系条件需要判断时使用,用来确定这些条件组合的方式,运算结果为布尔类型值。

Python 中提供的逻辑运算符如下表所示:

图片

逻辑与运算符(and)

逻辑与运算符用来连接多个关系条件运算,只有当多个条件同时满足时,结果为真True,否则为假False。

print(3 > 2 and 2 > 1)
print(3 < 2 and 2 > 1)
print(3 < 2 and 2 < 1)
print(1 < 2 and "H" + "W")

逻辑或运算符(or)

逻辑或运算符用来连接多个关系条件运算,只有当多个条件同时不满足时,结果为假 False,只要其中有一个条件为真,结果即为真 True。

print(3 > 2 or 2 > 1)
print(3 < 2 or 2 > 1)
print(3 < 2 or 2 < 1)
print(1 > 2 and "H" + "w")

逻辑非运算符(not)

逻辑非运算符用来对表达式结果进行取反运算,如果表达式结果为真,则取反结果为假 False,如果表达式结果为假,则结果即为真 True。

print(not (3 > 2))
print(not (3 < 2))

短路特性

在使用逻辑与运算符 和 逻辑或运算符时,如果自左向右计算结果可以确定整个表达式的结果时,后面的表达式条件便不在计算。

非短路操作

result = True and print("Hello, World!1")  # 第一个操作数为True,不能确定后续都为真,所以print语句会执行
print(result)   # 输出 None,print语句的返回值为None

result = False or print("Hello, World!2")  # 第一个操作数为False,不能确定后续都为假,所以print语句会执行
print(result)  # 输出 None,print语句的返回值为None

短路操作

result = False and 1/0  # 第一个操作数为False,已经可以确认整个表达式的结果,虽然表达式有除0错误,但并不会执行
print(result)  # 结果为False

result = True or 1/0  # 第一个操作数为True,已经可以确认整个表达式的结果,虽然表达式有除0错误,但并不会执行
print(result)  # 结果为True

微信图片_20231211104856.jpg