Python中的条件运算符?

时间:2010-02-03 12:44:08

标签: python syntax

你知道Python是否支持像C ++中的某些关键字或表达式来返回基于if条件的值,所有这些都在同一行(用问号{{1}表示的C ++ if })

?

2 个答案:

答案 0 :(得分:125)

从Python 2.5开始,您可以:

value = b if a > 10 else c

以前你必须做类似下面的事情,虽然语义不一样,因为短路效应会丢失:

value = [c, b][a > 10]

还有另一个hack使用'和......或'但是最好不要使用它,因为它在某些情况下会导致难以发现的错误。我甚至不会在这里写黑客,因为我认为最好不要使用它,但如果你愿意,你可以在Wikipedia上阅读它。

答案 1 :(得分:3)

简单是最好的,适用于每个版本。

   if a>10: 
       value="b"
   else: 
       value="c"