Skip to content

逻辑运算符:让程序拥有“思考”能力

逻辑运算符是 Python 中非常重要的工具,它们可以帮助我们构建更复杂的条件判断,让程序能够根据不同的情况做出不同的反应,就像拥有了简单的“思考”能力一样。 简单来说,逻辑运算符用于连接或修改布尔表达式(值为 TrueFalse 的表达式)。

理解操作数的逻辑状态:真与假的世界

在 Python 的世界里,每个值都可以被认为是 True (真) 或 False (假) 。 了解哪些值会被认为是 False 非常重要。

以下这些值的逻辑状态会被认为是 False

  • False (布尔值假)
  • 0 (整数零)
  • 0.0 (浮点数零)
  • None (空值)
  • "" (空字符串)
  • [] (空列表)
  • () (空元组)
  • {} (空字典)
  • set() (空集合)

除了上面列出的这些值,Python 中的其他所有值都被认为是 True

我们可以使用内置函数 bool() 来判断一个值是 True 还是 False

python
>>> bool(False)
False
>>> bool(0)
False
>>> bool([])
False
>>> bool(None)
False
>>> bool("")
False
>>> bool([])
False
>>> bool(())
False
>>> bool({})
False

再来看看一些 True 的例子:

python
>>> bool(True)
True
>>> bool(1)
True
>>> bool(2.0)
True
>>> bool(100)
True
>>> bool("python")
True
>>> bool(["py", "thon"])
True

三个重要的逻辑运算符

Python 提供了三个核心的逻辑运算符:notorand。 让我们逐一了解它们。

1. not (非) 运算符:反转乾坤

not 运算符用于反转一个操作数的逻辑状态。如果操作数是 Truenot 运算后就是 False;反之,如果操作数是 Falsenot 运算后就是 True。 就像一面镜子,将真假颠倒。

python
>>> n = 5
>>> bool(n)  # n 的逻辑状态是 True
True
>>> bool(not n) # not n 的逻辑状态是 False
False

2. or (或) 运算符:二者得其一

or 运算符用于判断两个操作数中是否至少有一个为 True。 只要有一个操作数为 True,结果就为 True。 只有当两个操作数都为 False 时,结果才为 False。 可以理解为“或者”,满足一个条件即可。

python
>>> True or False
True
>>> bool(1 or 0)
True
>>> False or False
False

3. and (与) 运算符:两者皆为真

and 运算符用于判断两个操作数是否都为 True。 只有当两个操作数都为 True 时,结果才为 True。 只要有一个操作数为 False,结果就为 False。 可以理解为“并且”,需要同时满足两个条件。

python
>>> True and True
True
>>> True and False
False
>>> bool(10 and 20)
True
>>> bool(1 and 0)
False

逻辑运算符的优先级

在复杂的表达式中,逻辑运算符之间有优先级关系,优先级从高到低依次是:not > and > or。 可以使用括号 () 来改变运算的优先级,使代码更易读。