Python 中的三元运算符

17 Mar 2025 | 6 分钟阅读

对于任何从事 Python 编程语言的开发者来说,编写简洁、高效、干净且可读性强的代码都应该是一个优先事项。为了使事情变得更容易,Python 提供了三元运算符,它提供了一种更简洁方便的方法来编写条件语句。

Python 中的三元运算符允许我们评估一个条件是 True 还是 False。该运算符仅占用一行代码,这意味着它比完整的 if-else 语句更简洁。

条件语句,如 **if-else** 语句,有助于我们控制程序的流程。仅当满足特定条件(或一组条件)时,条件语句中的代码段才会执行。

在 Python 等编程语言中,if-else 语句是编写条件语句最常用的方法。然而,Python 中引入的三元运算符提供了一种在一行中测试条件的方法。

在本教程中,我们将更深入地探讨三元运算符、它的工作原理,并在 Python 编程语言中使用一些示例。

但在我们开始之前,让我们先讨论一下条件语句的基础知识。

理解 Python 中的条件语句

在编写 Python 代码时,我们有时可能希望在满足特定条件时执行一个代码块或一行代码。为了执行此类任务和功能,条件语句非常有用。

Python 中的 **if-else** 语句用于检查是否满足某个条件。

让我们看一个例子。假设我们正在创建一个应用程序,该应用程序检查客户是否有资格在电影院享受 15% 的折扣。如果客户年龄在 60 岁或以上,则应提供折扣;否则,不应提供折扣。我们可以使用 if-else 语句来创建这样的程序。

示例

输出

First Number: 10
Second Number: 20
The Larger Number among the given numbers is: 20

说明

在上面的代码片段中,我们定义了一些变量,如 first_num、second_num 和 max,并为它们指定了值,如 10、20 和 None。然后,我们使用 if-else 语句来检查哪个数字更大。然后,我们将较大的数字复制到 max 变量中。最后,我们为用户打印了这些值。结果,程序评估了这些语句并返回了适当的输出。

然而,正如我们可以看到的,**if-else** 语句会占用多行代码。因此,为了减少这些代码行,Python 开发者采用了一种更简洁的方式来编写条件语句,同时只评估少数条件,即 Python 中的三元运算符。

让我们探讨 Python 编程语言中三元运算符的概念。

理解 Python 中的三元运算符

三元运算符是 Python 编程语言中的一种条件表达式,它允许开发人员评估语句。三元运算符根据该语句是 True 还是 False 来执行操作。因此,这些运算符比传统的 if-else 语句更简洁。

让我们看一下 Python 中三元语句的以下语法。

语法

Python 三元条件运算符的名称源于它接受三个参数:**true_condition、expression** 和 **false_condition**。

三元运算符通常用于确定变量的值。如果语句结果为 True,则变量采用“**true_condition**”的值;如果语句结果为 False,则采用“**false_condition**”的值。

我们可以将三元运算符视为 Python 编程语言中用于过滤列表的列表推导式。或者,我们也可以将其视为用于定义函数的 lambda 函数。

lambda 函数和列表推导式都是执行任何操作(例如定义函数和列表过滤)的更有效方法。同样,三元运算符也成为编写 **if-else** 语句的一种更有效和高效的方法。

但是,就像三元运算符一样,我们应该使用它们来提高代码的可读性,而不应过度使用三元运算符;否则,代码可能会变得更难阅读。

现在让我们考虑一个基于 Python 中三元运算符的示例

假设我们想在活动预订应用程序中为 60 岁及以上的客户添加折扣选项。如果客户年龄小于 60 岁,则他们没有资格获得折扣。我们可以使用下面显示的的代码片段来检查客户是否有资格获得折扣

示例

输出

Not Eligible for Discount

说明

在上面的代码片段中,我们定义了一个存储客户年龄值的变量。然后,我们使用三元运算符来检查提供的客户年龄是否符合折扣资格标准,并为用户打印了结果。由于值是 40,低于 60,因此程序为用户返回了 else 语句。

如果我们尝试将上面的示例与之前的示例进行比较,我们可以观察到这种方法使用的代码行数明显更少。

让我们看另一个例子以更好地理解。假设我们需要根据客户是否符合资格标准来设置特定的折扣率。默认情况下,我们的活动预订应用程序为所有客户提供 10% 的折扣;但是,60 岁及以上的客户有资格获得 20% 的折扣。

下面提供了一段代码,用于检查客户是否有资格获得常规折扣或老年折扣。

示例

输出

Customer's Age:  40
The Discount provided to the customer: 10

说明

在上面的代码片段中,我们定义了一个存储客户年龄值的变量。然后,我们使用三元运算符来检查提供的客户年龄是否符合老年折扣资格标准,并为用户打印了结果。由于值是 40,低于 60,因此程序为用户返回了 10 作为符合条件的折扣语句。