逻辑运算符
逻辑运算符
逻辑运算符一般用来解决当有多个关系条件需要判断时使用,用来确定这些条件组合的方式,运算结果为布尔类型值。
Python 中提供的逻辑运算符如下表所示:
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and |
x and y |
逻辑"与" : 如果 x 为 False ,x and y 返回 False ,否则它返回 y 的计算值。 |
or |
x or y |
逻辑"或" : 如果 x 是非 0 ,它返回 x 的计算值,否则它返回 y 的计算值。 |
not |
not x |
逻辑"非" : 如果 x 为 True ,返回 False 。如果 x 为 False ,它返回 True 。 |
逻辑与运算符 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