Python 中的逻辑运算符用于对布尔值(True/False)进行逻辑运算,也可用于表达式的组合。主要有三个:and、or 和 not。
1. 基本用法
| 运算符 | 描述 | 示例 |
|---|---|---|
| and | 逻辑与:两边都为 True 时结果为 True | True and False → False |
| or | 逻辑或:至少一边为 True 时结果为 True | True or False → True |
| not | 逻辑非:取反 | not True → False |
2. 短路求值
- and:如果左边表达式为 False,右边将不会执行,直接返回 False。
- or:如果左边表达式为 True,右边将不会执行,直接返回 True。
这可以用于避免无效操作,例如:
python
x = 10
if x > 0 and 100 / x > 5:
print("ok") #安全,因为x\>0为True时才计算除法
3. 返回值
逻辑运算符不一定返回 True/False,而是返回决定最终结果的那个操作数的值。
- and:如果左边为假,返回左边;否则返回右边。
- or:如果左边为真,返回左边;否则返回右边。
- not:总是返回 True 或 False。
python
print(3 and 5) # 5 (3为真,返回5)
print(0 and 5) # 0 (0为假,返回0)
print(3 or 5) # 3 (3为真,返回3)
print(0 or 5) # 5 (0为假,返回5)
print(not 3) # False
print(not 0) # True
利用此特性可以简化代码:
python
name = input("输入姓名: ") or "匿名"
print(name) #如果用户直接回车(空字符串),name变为"匿名"
4. 优先级
优先级从高到低:not > and > or。可以使用括号改变优先级。