Home >Backend Development >Python Tutorial >How to use the ternary operator in Python?

How to use the ternary operator in Python?

PHPz
PHPzforward
2023-05-08 15:28:161548browse

Detailed explanation of the ternary operation in Python

What is the ternary operator

In most programming languages, there are ternary operations, also called ternary operations. The Python language has evolved from Python2. Starting from version 5, the ternary operator was also introduced.

In Python, ternary operations are also called conditional expressions. The syntax is as follows:

true_expression if condition else false_expression
condition is the judgment condition, true_expression and false_expression are two expressions, connected with if…else….
If the condition is true (the result is true), execute true_expression and use the result of true_expression as the result of the entire expression.
If the condition is not true (the result is false), execute false_expression and use the result of false_expression as the result of the entire expression.

The ternary operator in Python is connected with if and else, unlike Java and other languages ​​that use question marks and colons to connect.

For example:

num1 = int(input('请输入第一个数字:'))
num2 = int(input('请输入第二个数字:'))
# 三元运算
max_num = num1 if num1 >= num2 else num2
print(f'最大值是:{max_num}')

Output:

请输入第一个数字:15646
请输入第二个数字:464665
最大值是:464665

In the above example, if num1 is greater than or equal to num2, then max_num is equal to num1, otherwise max_num is equal to num2, through ternary operation The operator finds the maximum of two numbers.

The difference between ternary operation statements and conditional statements

1.Ternary operation statements

numa = 100
numb = 10
max_num = numa if numa >= numb else numb
print(f'最大值是:{max_num}')

2.Conditional statements

numa = 100
numb = 10
if numa >= numb:
    max_num = numa
else:
    max_num = numb
print(f'最大值是:{max_num}')

From the above comparison, The functions of the ternary operation statement and the conditional statement are exactly the same, but the ternary operation statement only requires one line of code, while the conditional statement has four lines of code. The ternary operation statement has less code and is more readable, so in most cases, it can be said that the ternary operation statement is the abbreviation of the conditional statement.

Nested ternary operation expression

num = int(input('请输入数字:'))
print('负数') if str(num)[0] == '-' else print('大于等于100') if num >= 100 else print('小于100的正数')

The above line of code is a nested ternary operation expression, in which the statement after the first else is a complete ternary The operation statement is treated as a whole as the false_expression in the outer ternary operation expression, as shown in the figure below.

How to use the ternary operator in Python?

This expression is equivalent to the following conditional judgment code:

num = int(input('请输入数字:'))
if str(num)[0] == '-':
    print('负数')
else:
    if num >= 100:
        print('大于等于100')
    else:
        print('小于100的正数')

You can also continue to use the same method to nest more layers, but I personally recommend not to Write too much nesting, otherwise the readability of the code will be reduced instead of increasing, which is counterproductive.

Combination of ternary operation expressions and list derivation expressions

s = [i if i % 2 == 0 else 10*i for i in range(10)]
print(s)

Output:

[0, 10, 2, 30, 4, 50, 6, 70, 8, 90]

Of course, you can also combine ternary operation expressions with dictionary derivation expressions and sets Derivation and other combinations are used. For more derivation, please refer to: Python list comprehension

Advantages of ternary operation expressions

Ternary operation expressions in Python have two main advantages:

1. You can replace simple conditional statements with single-line ternary arithmetic expressions to reduce the number of lines of code.

2. Simple ternary operation expressions can improve the readability of the code, making the code more Pythonic and elegant.

The above is the detailed content of How to use the ternary operator in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete