在Python 2.5+中使用三元运算符(正式条件表达式).
x = 1 if foo else 2
提到的Ternary运算符仅在Python 2.5中提供.来自WeekeePeedeea:
尽管由于语法上的分歧已经推迟了几年,但是Python的三元运算符被批准为Python增强提案308并且在2006年9月被添加到2.5版本中.
Python的三元运算符与常用的?:运算符的不同之处在于它的操作数; 一般形式是
op1 if condition else op2
.此表单邀请将op1视为正常值,将op2视为例外情况.在2.5之前,人们可以使用丑陋的语法
(lambda x:op2,lambda x:op1)[condition]()
,它也只负责评估实际需要的表达式以防止副作用.