每日一课 | 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

参考文献

  • Python三元运算符

  • Python条件表达式

  • 翻译自: https://mkyong.com/python/python-ternary-conditional-operator/

推荐阅读--

每周一课 | Python 示例拆分字符串入到字典里面

每日一课 | 如何将String转换为int

每日一课 | Python time.sleep 精准延迟到秒

每日一课 | Python 如何判断一个字符串是否包含另一个字符串?

球分享

球点赞

球在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值