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