本文向您展示如何编写Python ternary operator
(也称为条件表达式)。
<expression1> if <condition> else <expression2>
expression1
将被评估,如果条件为真,否则expression2
将被评估。
1.三元运算符
1.1此示例将打印数字是奇数还是偶数。
n = 5
print("Even") if n % 2 == 0 else print("Odd")
输出量
Odd
如果n = 2
Even
1.2无法分配给条件表达式。
## we can't use syntax as follows
a = 5 if True else a = 6
输出量
File "<ipython-input-4-66113f0b2850>", line 2
a = 5 if True else a = 6
^
SyntaxError: can't assign to conditional expression
而是按如下所示将值分配给变量。
## we can use it as follows
a = 5 if False else 6
print(a)
输出量
6
2.多级三元运算符
到现在为止,我们仅在一个条件下使用了三元运算符。 让我们看看如何在多个条件下使用它。 假设我们必须检查两个条件,一个条件是偶数,另一个条件是四个的倍数。 尝试使用三元运算符编写条件代码。
n = int(input("number: "))
print("Satisfied") if n % 4 == 0 else print("Destroyed1") if n % 2 == 0 else print("Destroyed2")
输出量
number: 3
Destroyed2
number: 6
Destroyed1
number: 8
Satisfied
Python首先执行最右边的条件运算符。 因此,在上面的程序中,它首先检查数字是否为偶数。 如果是偶数,则检查它是否为四的倍数。
3. Python元组
我们可以将Tuple
用作三元运算符,它的工作方式如下:
(get_this_if_false, get_this_if_true)[condition]
例子:
n = 20
canVote = (False, True)[n >= 18]
print(canVote)
输出量
True
n = 10
canVote = (False, True)[n >= 18]
print(canVote)
输出量
False
参考文献
翻译自: https://mkyong.com/python/python-ternary-conditional-operator/