对于三目运算符(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
values = {
value1: do_something1,
value2: do_something2,
...
valueN: do_somethingN,
}
values.get(var, do_default_something)()