摘要:在本节中,你将了解 Python 的逻辑运算符,以及如何使用它们来组合多个条件。
逻辑运算符简介
有时候,你可能想要同时检查多个条件。要做到这一点,你可以使用逻辑运算符。
Python 有三个逻辑运算符:
与(
and
)或(
or
)非(
not
)
与运算符(and
)
and
(与)运算符用于检查两个条件是否同时都为 True
(真):
a and b
如果两个条件都为真,它就返回 True
(真)。而如果条件 a
或 b
中有一个为假,它就返回 False
(假)。
下面的示例使用 and
(与)运算符来组合两个将价格与数字进行比较的条件:
price = 9.99
result = price > 9 and price < 10
print(result)
输出:
True
结果为 True
(真),因为价格大于 9 且小于 10。
下面这个示例返回 False
(假),因为价格不大于 10。
price = 9.99
result = price > 10 and price < 20
print(result)
输出:
False
在这个示例中,条件 price > 10
返回 False
(假),而第二个条件 price < 20
返回 True
(真)。
下表展示了使用 and
运算符组合两个条件时的结果情况:
只有当条件 a
和条件 b
都为真时a and b
这个条件才会返回真。
或运算符(or
)
and
(与)运算符类似or
(或)运算符也用于检查多个条件。但只要单个条件中的任意一个为 True
(真)或者两个条件都为 True
(真)时,它就会返回 True
(真):
a or b
下表展示了使or
运算符组合两个条件时的结果:
只有当两个条件都为假时or
运算符才会返回假值。
下面的示例展示了如何使用or
运算符:
price = 9.99
result = price > 10 or price < 20
print(result)
在这个示例中price < 20
返回 True
(真),因此,整个表达式返回 True
(真)。
下面这个示例返回 False
(假),因为两个条件的计算结果都为 False
(假):
price = 9.99
result = price > 10 or price < 5
print(result)
非运算符(not
)
not
(非)运算符应用于单个条件。它会反转该条件的结果,即真会变为假,假会变为真:
not a
如果条件为 True
,not
运算符返回 False
,反之亦然。
下表说明了 not
运算符的结果:
以下示例使用了 not
运算符。由于 price > 10
返回 False
,因此 not price > 10
返回 True
:
price = 9.99
result = not price > 10
print(result)
输出:
True
以下是另一个结合了 not
和 and
运算符的示例:
price = 9.99
result = not (price > 5 and price < 10)
print(result)
输出:
False
在这个示例中,Python 按照以下顺序对条件进行求值:
首先(price > 5 and price < 10)
求值为 True
。
其次not True
求值为 False
。
这就引出了一个重要的概念,称为**逻辑运算符的优先级**。
逻辑运算符的优先级
当你在一个表达式中混合使用逻辑运算符时,Python 会按照称为“运算符优先级”的顺序对它们进行求值。
以下展示了 not
,and
和 or
运算符的优先级:
基于这些优先级,Python 会首先为优先级最高的运算符对操作数进行分组,然后为优先级较低的运算符对操作数进行分组,依此类推。
如果一个表达式中有几个优先级相同的逻辑运算符,Python 会从左到右对它们进行求值:
a or b and c
意味着a or (b and c)
a and b or c and d
意味着(a and b) or (c and d)
a and b and c or d
意味着((a and b) and c) or d
not a and b or c
意味着((not a) and b) or c
总结
使用逻辑运算符来组合多个条件。
Python 有三个逻辑运算符
and
(且)or
(或)和not
(非)。逻辑运算符的优先级从高到低依次为
not
、and
、or
。