Python逻辑运算符包括and、or、not,分别表示与、或、非,用于布尔值判断和流程控制。and需两个操作数均为True结果才为True,or只需一个为True即返回True,not则取反布尔值。支持短路求值:and左侧为False时跳过右侧,or左侧为True时跳过右侧,可避免如除零错误。非布尔对象也有真值,None、False、0、空序列或字典视为False,其余视为True。优先级为not > and > or,建议用括号明确逻辑顺序,提升代码清晰度。

Python 中的逻辑运算符用于处理布尔值(True 和 False),常用于条件判断和控制流程。理解这些运算符的工作方式,对编写清晰、正确的程序至关重要。
三种基本逻辑运算符
Python 提供了三个主要的逻辑运算符:
- and:只有当两个操作数都为 True 时,结果才为 True
- or:只要有一个操作数为 True,结果就为 True
- not:对布尔值取反,True 变 False,False 变 True
示例:
print(True and False) # 输出: False print(True or False) # 输出: True print(not True) # 输出: False
短路求值机制
Python 的 and 和 or 支持短路求值,即在能确定结果的前提下,不计算后面的表达式。
立即学习“Python免费学习笔记(深入)”;
- 对于 and:如果左边为 False,右边不会被执行
- 对于 or:如果左边为 True,右边不会被执行
这个特性可以用来避免错误:
a = 0 result = a != 0 and (10 / a > 1) # 因为 a == 0,右边不会执行,避免除零错误
非布尔值的真假判断
Python 中几乎所有对象都有一个“真值”。以下值被视为 False:
这本书给出了一份关于python这门优美语言的精要的参考。作者通过一个完整而清晰的入门指引将你带入python的乐园,随后在语法、类型和对象、运算符与表达式、控制流函数与函数编程、类及面向对象编程、模块和包、输入输出、执行环境等多方面给出了详尽的讲解。如果你想加入 python的世界,David M beazley的这本书可不要错过哦。 (封面是最新英文版的,中文版貌似只译到第二版)
- None
- False
- 数字 0(包括 0.0)
- 空序列:''(空字符串)、[](空列表)、()(空元组)
- 空字典:{}
其余值通常被视为 True。
因此,你可以这样写:
name = "Alice"
if name:
print("名字已提供") # 会执行
运算符优先级与括号使用
逻辑运算符的优先级顺序是:not > and > or。建议使用括号明确表达意图,避免误解。
例如:
print(not False or True and False) # 按优先级等价于: (not False) or (True and False) print(True or False and False) # 先算 and,结果是 True
加上括号更清晰:
print((not False) or (True and False))
基本上就这些。掌握 and、or、not 的行为,理解短路机制和真值规则,就能写出更稳健的条件判断代码。不复杂但容易忽略细节。









