可能的复制品: Python 三元运算符
有没有用 Python 编写这段 C/C + + 代码的方法? a = (b == true ? "123" : "456" )
a = (b == true ? "123" : "456" )
a = '123' if b else '456'
有关更多信息,请参见 PEP 308。
我的神秘版本。
a = ['123', '456'][b == True]
虽然 a = 'foo' if True else 'bar'是执行三元 if 语句(python 2.5 +)的更现代的方法,但与您的版本相当的1:1版本可能是:
a = 'foo' if True else 'bar'
a = (b == True and "123" or "456" )
... 在巨蟒语里应该缩写为:
a = b is True and "123" or "456"
... 或者你只是想测试 b 值的真实性..。
a = b and "123" or "456"
字面上可以将 ? :替换为 and or
? :
and or