Python中的条件运算符?

你知道Python是否支持像C ++那样的关键字或expression式来返回基于if条件的值,全部在同一行(C ++ if用问号表示) ?

 // C++ value = ( a > 10 ? b : c ) 

从Python 2.5开始,你可以这样做:

 value = b if a > 10 else c 

以前,你将不得不做类似于下面的事情,虽然语义是不一样的短路效应丢失:

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

还有另外一种使用'and … or'的黑客攻击,但是最好不要使用它,因为在某些情况下它会有不良行为,导致很难发现错误。 我甚至不会在这里写入黑客,因为我认为最好不要使用它,但是如果你愿意,你可以在维基百科上阅读它。

简单是最好的,并在每个版本的作品。

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