+ -

python为什么不需要三目运算符和switch

时间:2011-06-15

来源:john2000

在手机上看
手机扫描阅读

对于三目运算符(ternary operator),python可以用conditional expressions来替代

如对于x<5?1:0可以用下面的方式来实现

1 if x<5 else 0

注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本

对于2.5之前的版本,可以用下面这种形式

X<5 and 1 or 0

对于switch,我们完全可以用dictionary来实现,看下面的例子

>>> def switch(choice):
return dict(enumerate(range(4)))[choice]

>>> switch(1)
1
>>> switch(0)
0