是的,它是在2.5版中添加表达式语法为:

a if condition else b

第一condition被评估,则恰好中的任一个ab进行评估并返回基于所述布尔condition如果conditionTruea则被评估并返回但b被忽略,否则b被评估为返回但a被忽略。

这允许发生短路,因为conditiona评估为true时才进行评估,而b根本不评估,而当condition为false评估时,b评估时a就完全不评估。

例如:

>>> '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

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

x = a if True else b

本文首发于python黑洞网,博客园同步跟新

 
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/pythonzhilian/p/14633255.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!