Python相当于C ++中的短格式“if”

时间:2009-11-06 09:13:59

标签: c++ python syntax

  

可能重复:
  Python Ternary Operator

有没有办法用Python编写这个C / C ++代码? a = (b == true ? "123" : "456" )

4 个答案:

答案 0 :(得分:191)

a = '123' if b else '456'

答案 1 :(得分:18)

虽然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"

...或者如果你只想测试一般b值的真实性......

a = b and "123" or "456"

? :可以换成and or

答案 2 :(得分:13)

我神秘的版本......

a = ['123', '456'][b == True]

答案 3 :(得分:1)

有关详细信息,请参阅PEP 308