【发布时间】:2013-10-13 00:23:10
【问题描述】:
我对 Python 中的 if 和 inline if 之间的区别有点好奇。哪一个更好?
除了它更短之外,还有什么理由使用 inline if?
另外,这句话有什么问题吗?我收到语法错误:SyntaxError: can't assign to conditional expression
a = a*2 if b == 2 else a = a/w
【问题讨论】:
-
else 子句中的“a =”有什么用?这必须是一个表达式,而不是一个赋值。
-
因此,您所指的“内联 if”是 三元运算符 - 它扮演不同的角色。它只用于分配,不用于一般用途。
-
“哪个更好”是一个愚蠢的问题。如果一个总是比另一个更好,Python 就不会两者兼得。问题是,在什么情况下各自更好?
-
我明白了。非常感谢!我认为这两个都是陈述。
-
@Lattyware:“仅用于分配”是什么意思?我几乎从不在赋值语句中使用三元表达式。我将它们用于函数参数,偶尔列出推导式或 lambdas,
ifstatement 没有用处。
标签: python if-statement inline-if