Python教程-Python中的三元运算符
对于在Python编程语言上工作的任何开发人员,编写短、高效、清晰和可读的代码应该是优先考虑的事项。为了使事情变得更容易,Python提供了三元运算符,它提供了一种更短、更方便的编写条件语句的方法。
Python中的三元运算符允许我们评估条件是否为True或False。该运算符仅占用一行代码,这意味着它比完整的if-else语句更简洁。
条件语句,如if-else语句,帮助我们控制程序的流程。条件语句内的代码片段仅在满足特定条件(或一组条件)时执行。
在像Python这样的编程语言中,if-else语句是编写条件语句的最常见方法。然而,引入Python中的三元运算符提供了一种在一行中测试条件的方法。
在以下教程中,我们将更多地了解三元运算符,它的工作原理,并在Python编程语言中进行一些示例。
但在进入具体内容之前,让我们讨论一下条件语句的基础知识。
了解Python中的条件语句
在编写Python代码时,我们有时可能希望在满足特定条件时执行一个代码块或一行代码。为了执行这些任务和功能,条件语句非常有用。
Python中的if-else语句用于检查条件是否满足。
让我们考虑一个示例。假设我们正在创建一个应用程序,用于检查客户是否有资格在电影院获得15%的折扣。如果客户年龄在60岁或以上,他们应该提供折扣;否则,不应提供折扣。我们可以使用if-else语句来创建这样一个程序。
示例:
# Here, we are creating a python program to understand the simple if-else statement
first_num = 10 # Here, we are defining the values of first variables
second_num = 20 # Here, we are defining the values of second variables
max = None # here, we are declaring a max variable
# Here, we are using the if-else statement
# to check the larger number among the given numbers
if first_num > second_num:
max = first_num
else:
max = second_num
# Here, we are printing the data
print("First Number:", first_num)
print("Second Number:", second_num)
print("The Larger Number among the given numbers is:", max)
# Here, we are printing the largest number among the given numbers
输出:
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中三元语句的以下语法。
语法:
[true_condition] if [expression] else [false_condition]
Python的三元条件运算符的名称源自它接受三个参数的事实:true_condition,expression和false_condition。
三元运算符通常用于确定变量的值。如果语句结果为True,则变量采用“true_condition”的值,如果语句结果为False,则变量采用“false_condition”的值。
我们可以将三元运算符视为Python编程语言中用于过滤列表的列表推导或用于定义函数的lambda函数。与lambda函数和列表推导一样,三元运算符是更有效的方法,用于执行任何操作(例如定义函数和过滤列表)。类似地,三元运算符是编写if-else语句的更有效和高效的方法。
然而,与三元运算符一样,我们应该使用它们以提高代码的可读性,并不应该过度使用三元运算符;否则,代码可能会变得更难阅读。
现在让我们考虑一个基于Python中的三元运算符的示例。
假设我们希望在事件预订应用程序中为60岁或更大的客户提供折扣选项。如果客户年龄小于60岁,他们不有资格获得折扣。我们可以使用下面显示的代码片段来检查客户是否有资格获得折扣:
示例:
# Simple Python program to understand the ternary operator
cust_age = 40 # here, we are declaring a variable to store the customer age
# Here, we are using the Ternary operator to check discount eligibility
cust_discount = "Eligible for Discount" if cust_age >= 60 else "Not Eligible for Discount"
# Here, we are printing the result after performing the ternary operator
print(cust_discount)
输出:
Not Eligible for Discount
解释:
在上面的代码片段中,我们定义了一个变量,存储客户年龄的值。然后,我们使用三元运算符来检查所提供的客户年龄是否在折扣资格标准之内,然后为用户打印结果。由于值为40,小于60,因此程序为用户返回了else语句。
如果我们尝试将上面的示例与前一个示例进行比较,我们可以观察到这种方法使用了明显较少的代码行。
为了更好地理解,让我们考虑另一个示例。假设我们需要根据客户是否符合资格标准来设置特定的折扣率。默认情况下,我们的事件预订应用程序为所有客户提供10%的折扣;但是,年龄在60岁或以上的客户有资格获得20%的折扣。
以下给出了一段代码,检查客户是否有资格获得普通折扣还是高龄折扣。
示例:
# Simple Python program to understand the ternary operator
cust_age = 40 # here, we are declaring a variable to store the customer age
# Here, we are using the Ternary operator to check discount eligibility
cust_discount = 20 if cust_age >= 60 else 10
# Here, we are printing the result after performing the ternary operator
print("Customer's Age: ", cust_age ) # here, we are printing the age of customer
print("The Discount provided to the customer:", cust_discount)
# Here, we are printing the discount provided to the customer
输出:
Customer's Age: 40
The Discount provided to the customer: 10
解释:
在上面的代码片段中,我们定义了一个变量,存储客户年龄的值。然后,我们使用三元运算符来检查所提供的客户年龄是否在高龄折扣资格标准之内,然后为用户打印结果。由于值为40,小于60,因此程序为用户返回了10作为合格折扣声明。