Erlo

python有三元运算符吗

2019-05-22 10:02:22 发布   40 浏览  
页面报错/反馈
收藏 点赞

所属网站分类: python基础 > 语法,变量,运算符


作者:goodbody

链接: http://www.pythonheidong.com/blog/article/12/

来源:python黑洞网 www.pythonheidong.com

 

很多人以为Python是没有三元运算符的,但实际上python是有的。

它是在2.5版本中添加的。语法是:

 

a if condition else b

首先condition进行求值,然后根据布尔值返回a或者b返回, 如果求值为true,则返回a,否则返回b。

例如:

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

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

>>> pass if False else x = 3 
File "<stdin>", line 1 pass if False else x = 3 ^ SyntaxError: invalid syntax 

在这种情况下,您必须使用普通if语句而不是条件语句。


请记住,由于以下几个原因,一些人对此感到不满:

  • 参数的顺序与许多其他语言(例如C,Ruby,Java等)不同,当不熟悉Python的“惊人”行为的人使用它时(可能会颠倒顺序),这可能会导致错误。
  • 有些人认为它“笨拙”,因为它与正常的思维流程相反(首先考虑条件然后考虑影响)。
  • 文体的原因。




 

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认