Python 中的 `and`, `or`, `not` 运算符:介绍与使用
在Python中,and
、or
、not
是三个基本的逻辑运算符,它们用于组合或修改布尔值(True或False)的条件表达式。这些运算符在条件判断、循环控制以及函数的条件执行中扮演着重要角色。下面是对这三个运算符的详细介绍与使用示例。
1. and
运算符
and
运算符用于组合两个布尔表达式,当且仅当两个表达式都为True时,结果才为True。如果任一表达式为False,则结果为False。
语法:
expression1 and expression2
示例:
result = (True and True) # 结果为 True
print(result)
result = (True and False) # 结果为 False
print(result)
# 实际应用
if 5 > 3 and 2 < 4:
print("两个条件都满足")
2. or
运算符
or
运算符也用于组合两个布尔表达式,但只要其中一个表达式为True,结果就为True。只有当两个表达式都为False时,结果才为False。
语法:
expression1 or expression2
示例:
result = (True or False) # 结果为 True
print(result)
result = (False or False) # 结果为 False
print(result)
# 实际应用
if 5 > 3 or 2 > 4:
print("至少有一个条件满足")
3. not
运算符
not
运算符用于反转布尔表达式的值。如果表达式为True,则not
运算后的结果为False;如果表达式为False,则结果为True。
语法:
not expression
示例:
result = not True # 结果为 False
print(result)
result = not False # 结果为 True
print(result)
# 实际应用
if not (5 < 3):
print("条件为真(因为5不小于3)")
注意事项
- 逻辑运算符经常与比较运算符(如
==
、!=
、<
、<=
、>
、>=
)结合使用来构建复杂的条件表达式。 - 在使用
and
、or
时,Python会采用“短路”评价(Short-circuit evaluation),即如果第一个操作数已经足够决定整个表达式的值,则不会计算第二个操作数。例如,在True or some_function()
中,如果True
已经确定,那么some_function()
将不会被调用。 not
运算符的优先级高于and
,而and
的优先级高于or
。这意味着在不使用括号的情况下,运算的顺序会影响结果。因此,在复杂的逻辑表达式中,建议使用括号来明确运算的优先级。