逻辑运算符:让程序拥有“思考”能力
逻辑运算符是 Python 中非常重要的工具,它们可以帮助我们构建更复杂的条件判断,让程序能够根据不同的情况做出不同的反应,就像拥有了简单的“思考”能力一样。 简单来说,逻辑运算符用于连接或修改布尔表达式(值为 True
或 False
的表达式)。
理解操作数的逻辑状态:真与假的世界
在 Python 的世界里,每个值都可以被认为是 True
(真) 或 False
(假) 。 了解哪些值会被认为是 False
非常重要。
以下这些值的逻辑状态会被认为是 False
:
False
(布尔值假)0
(整数零)0.0
(浮点数零)None
(空值)""
(空字符串)[]
(空列表)()
(空元组){}
(空字典)set()
(空集合)
除了上面列出的这些值,Python 中的其他所有值都被认为是 True
。
我们可以使用内置函数 bool()
来判断一个值是 True
还是 False
。
>>> bool(False)
False
>>> bool(0)
False
>>> bool([])
False
>>> bool(None)
False
>>> bool("")
False
>>> bool([])
False
>>> bool(())
False
>>> bool({})
False
再来看看一些 True
的例子:
>>> bool(True)
True
>>> bool(1)
True
>>> bool(2.0)
True
>>> bool(100)
True
>>> bool("python")
True
>>> bool(["py", "thon"])
True
三个重要的逻辑运算符
Python 提供了三个核心的逻辑运算符:not
、or
和 and
。 让我们逐一了解它们。
1. not
(非) 运算符:反转乾坤
not
运算符用于反转一个操作数的逻辑状态。如果操作数是 True
,not
运算后就是 False
;反之,如果操作数是 False
,not
运算后就是 True
。 就像一面镜子,将真假颠倒。
>>> n = 5
>>> bool(n) # n 的逻辑状态是 True
True
>>> bool(not n) # not n 的逻辑状态是 False
False
2. or
(或) 运算符:二者得其一
or
运算符用于判断两个操作数中是否至少有一个为 True
。 只要有一个操作数为 True
,结果就为 True
。 只有当两个操作数都为 False
时,结果才为 False
。 可以理解为“或者”,满足一个条件即可。
>>> True or False
True
>>> bool(1 or 0)
True
>>> False or False
False
3. and
(与) 运算符:两者皆为真
and
运算符用于判断两个操作数是否都为 True
。 只有当两个操作数都为 True
时,结果才为 True
。 只要有一个操作数为 False
,结果就为 False
。 可以理解为“并且”,需要同时满足两个条件。
>>> True and True
True
>>> True and False
False
>>> bool(10 and 20)
True
>>> bool(1 and 0)
False
逻辑运算符的优先级
在复杂的表达式中,逻辑运算符之间有优先级关系,优先级从高到低依次是:not
> and
> or
。 可以使用括号 ()
来改变运算的优先级,使代码更易读。