MEMOO
MEMOO
Published on 2025-04-17 / 6 Visits
0
0

Python逻辑运算符

摘要:在本节中,你将了解 Python 的逻辑运算符,以及如何使用它们来组合多个条件。

逻辑运算符简介

有时候,你可能想要同时检查多个条件。要做到这一点,你可以使用逻辑运算符。

Python 有三个逻辑运算符:

  • 与(and

  • 或(or

  • 非(not

与运算符(and

and(与)运算符用于检查两个条件是否同时都为 True(真):

a and b

如果两个条件都为真,它就返回 True(真)。而如果条件 ab 中有一个为假,它就返回 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

True

True

True

True

False

False

False

False

False

False

True

False

只有当条件 a 和条件 b 都为真时a and b 这个条件才会返回真。

或运算符(or

and(与)运算符类似or(或)运算符也用于检查多个条件。但只要单个条件中的任意一个为 True(真)或者两个条件都为 True(真)时,它就会返回 True(真):

a or b

下表展示了使or运算符组合两个条件时的结果:

a

b

a or b

True

True

True

True

False

True

False

True

True

False

False

False

只有当两个条件都为假时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

如果条件为 Truenot 运算符返回 False,反之亦然。

下表说明了 not 运算符的结果:

a

not a

True

False

False

True

以下示例使用了 not 运算符。由于 price > 10 返回 False,因此 not price > 10 返回 True

price = 9.99

result = not price > 10

print(result)

输出:

True

以下是另一个结合了 notand 运算符的示例:

price = 9.99

result =  not (price > 5 and price < 10)

print(result)

输出:

False

在这个示例中,Python 按照以下顺序对条件进行求值:

首先(price > 5 and price < 10) 求值为 True

其次not True 求值为 False

这就引出了一个重要的概念,称为**逻辑运算符的优先级**。

逻辑运算符的优先级

当你在一个表达式中混合使用逻辑运算符时,Python 会按照称为“运算符优先级”的顺序对它们进行求值。

以下展示了 notandor 运算符的优先级:

运算符

优先级

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(非)。

  • 逻辑运算符的优先级从高到低依次为notandor


Comment