您的位置:

Python 中的三元运算符

对于任何使用 Python 编程语言的开发人员来说,编写简短、高效、干净和可读的代码应该是优先考虑的事情。为了让事情变得更简单,Python 提供了三元运算符,它提供了一种更短、更方便的条件语句编写方法。

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

条件语句,像 if-else 语句,帮助我们规范程序的流程。条件语句中的代码片段仅在满足特定条件(或一组条件)时执行。

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

在接下来的教程中,我们将更多地探索三元运算符及其工作原理,并在 Python 编程语言中处理一些示例。

但在此之前,让我们讨论一下条件语句的基础。

理解 Python 中的条件语句

在编写 Python 代码时,我们有时可能希望在满足特定条件时执行一个代码块或一行代码。为了让我们执行这样的任务和功能,条件语句变得很方便。

Python 中的【if-else】语句用于检查条件是否满足。

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

示例:


# defining the values of variables
first_num = 10
second_num = 20
max = None

# using the if-else statement
# to check the larger number
if first_num > second_num:
    max = first_num
else:
    max = second_num

# printing data
print("First Number:", first_num)
print("Second Number:", second_num)
print("Larger Number:", max)

输出:

First Number: 10
Second Number: 20
Larger Number: 20

说明:

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

然而,我们可以观察到, if-else 语句消耗了多行代码。因此,为了减少这些代码行,Python 开发人员采用了一种更简洁的方式来编写条件语句,同时只评估几个条件,即 Python 中的三元运算符。

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

理解 Python 中的三元运算符

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

让我们考虑 Python 中三元语句的以下语法。

语法:


[true_condition] if [expression] else [false_condition]

Python 三元条件运算符的名称源于它接受三个参数: true_condition,表达式,以及 false_condition 。

三元运算符通常用于确定变量的值。如果语句结果为真,则变量取值为“真 _ 条件”,如果语句结果为假,则变量取值为“假 _ 条件”。

我们可以将三元运算符视为 Python 编程语言中使用的列表推导,以便过滤出一个列表。或者我们也可以认为它是一个用来定义函数的 lambda 函数。

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

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

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

假设我们希望在活动预订应用中为 60 岁或以上的客户提供折扣选项。如果顾客年龄小于 60 岁,他们没有资格享受折扣。我们可以使用下面显示的代码片段来检查客户是否有权获得折扣:

示例:


# given customer age
cust_age = 40

# using Ternary operator to check discount eligibility
cust_discount = "Eligible for Discount" if cust_age >= 60 else "Not Eligible for Discount"

# printing the result
print( cust_discount )

输出:

Not Eligible for Discount

说明:

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

如果我们尝试将上面的例子与前面的例子进行比较,我们可以观察到这个方法使用的代码行要少得多。

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

下面给出了一段代码,用于检查客户是否有资格享受常规折扣或高级折扣。

示例:


# given customer age
cust_age = 40

# using Ternary operator to check discount eligibility
cust_discount = 20 if cust_age >= 60 else 10

# printing the result
print( "Customer's Age: ", cust_age )
print( "Discount provided:", cust_discount )

输出:

Customer's Age:  40
Discount provided: 10

说明:

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