python条件运算符_Python有三元条件运算符吗?

是的,2.5版本是added.表达式语法是:

a if condition else b

评估第一个条件,然后根据条件的Boolean值评估和返回a或b中的一个.如果condition的计算结果为True,则会计算并返回a但忽略b,否则当b被计算并返回但忽略a时.

这允许短路,因为当条件为真时,仅评估a并且根本不评估b,但是当条件为假时,仅评估b并且根本不评估a.

例如:

>>> 'true' if True else 'false'

'true'

>>> 'true' if False else 'false'

'false'

请注意,条件语句是表达式,而不是语句.这意味着您不能在条件表达式中使用赋值语句或传递或其他语句:

>>> pass if False else x = 3

File "", line 1

pass if False else x = 3

^

SyntaxError: invalid syntax

但是,您可以使用条件表达式来分配变量,如下所示:

x = a if True else b

将条件表达式视为在两个值之间切换.当你处于“一个或另一个”的情况时它非常有用,但它没有做太多其他事情.

如果需要使用语句,则必须使用普通的if语句而不是条件表达式.

请记住,由于以下几个原因,一些Pythonist对此不满意:

>参数的顺序与经典条件的顺序不同? a:b来自许多其他语言的三元运算符(例如C,C,Go,Perl,Ruby,Java,Javascript等),当不熟悉Python的“惊人”行为的人使用它时可能会导致错误(它们可能会反转)参数顺序).

>有些人发现它“笨拙”,因为它与正常的思维流程相反(首先考虑条件然后考虑影响).

>文体原因. (虽然’inline if’可能非常有用,并且使您的脚本更简洁,但它确实会使您的代码变得复杂)

如果您在记住订单时遇到问题,请记住,当您大声朗读时,您(几乎)会说出您的意思.例如,如果b> 1,则x = 4. 8大声朗读9,如果b大于8则x将为4,否则为9.

官方文件:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值