关于语法:Python中的条件运算符?

Conditional operator in Python?

本问题已经有最佳答案,请猛点这里访问。

你知道Python是否支持一些类似于C++的关键字或表达式来返回基于EDCOX1(0)条件的值,所有这些都在同一行中(C++ + EDCOX1,0)用问号EDCOX1(2)表示。

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


从python 2.5开始,您可以执行以下操作:

1
value = b if a > 10 else c

以前,您必须执行如下操作,尽管语义与短路效果丢失不相同:

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

还有另一个黑客使用"和…或者"但最好不要使用它,因为它在某些情况下有一种不受欢迎的行为,这会导致一个难以发现的错误。我甚至不会在这里写黑客,因为我认为最好不要使用它,但如果你想的话,你可以在维基百科上阅读。


简单是最好的,适用于所有版本。

1
2
3
4
   if a>10:
       value="b"
   else:
       value="c"