python有三元运算符吗

2023-01-31 00:01:17 python 运算符

所属网站分类: 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的“惊人”行为的人使用它时(可能会颠倒顺序),这可能会导致错误。
  • 有些人认为它“笨拙”,因为它与正常的思维流程相反(首先考虑条件然后考虑影响)。
  • 文体的原因。




 

相关文章