在C ++中,Python等价于短格式“if”
可能重复:
Python三元运算符
有没有办法在Python中编写这个C / C ++代码? a = (b == true ? "123" : "456" ) 
非常感谢!
 a = '123' if b else '456' 
 虽然a = 'foo' if True else 'bar'是执行三元if语句(python 2.5+)的更现代的方式,那么您的版本的1对1等价物可能是: 
 a = (b == True and "123" or "456" ) 
…在Python中应该缩短为:
 a = b is True and "123" or "456" 
…或者如果你只是想testing一般b值的真实性…
 a = b and "123" or "456" 
 ? :  ? :可以从字面上换出and or 
我的神秘版本…
 a = ['123', '456'][b == True] 
有关更多信息,请参阅PEP 308 。