>>> pass if False else x = 3 File "",line 1 pass if False else x = 3 ^SyntaxError: invalid syntax 8 ~/ i- K' d; |8 n6 X8 G7 f- n6 m. c5 _! V. e
但是,您可以使用条件表达式来分配变量,如下所示: 5 \3 N7 W3 |% d' Q
x = a if True else b5 W- F( }3 p" x; _
将条件表达式视为两个值之间的切换。当你处于一种价值或另一种价值时,它是非常有用的,但它不会做太多其他事情。 / P" F' n- b" x6 ~- l若需使用语句,则必须使用普通语句if 语句而不是条件表达式。 5 B! F- {' f( m请记住,由于以下原因,一些 Pythonistas 不赞成它7 O5 ^1 H9 @. r4 H: d$ M! e' g V y% y 参数的顺序condition ? a : b与许多其他语言(如 C、C 、Go、Perl、Ruby、Java、Javascript 等)经典三元运算符的顺序不同,可能不熟悉 Python 使用它的人惊人行为(他们可能会颠倒参数顺序)。 - V$ {. _$ i5 x+ k% i6 G有些人认为它笨拙,因为它违反了正常的思维流(先考虑条件,再考虑效果)。 * s/ p7 y) [5 _6 m7 ~" k) O% R(尽管 ‘inline if‘非常它有用,使你的脚本更简洁,但它确实使你的代码复杂)如果你在记住顺序时遇到问题,请记住,当你大声朗读时,你(几乎)说出了你的意思。x = 4 if b > 8 else 9朗读为x will be 4 if b is greater than 8 otherwise 9。