Python三元条件运算符

本文向您展示如何编写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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值