首页 / PYTHON / Python有三元条件运算符吗?
Python有三元条件运算符吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python有三元条件运算符吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1499字,纯文字阅读大概需要3分钟。
内容图文
如果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 "<stdin>", 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.
官方文件:
> Conditional expressions
> Is there an equivalent of C’s ”?:” ternary operator?
内容总结
以上是互联网集市为您收集整理的Python有三元条件运算符吗?全部内容,希望文章能够帮你解决Python有三元条件运算符吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。