对于三目运算符(ternary operator),python可以用conditional expressions来替代
如对于x<5?1:0可以用下面的方式来实现
1if x<5else 0
注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本
对于2.5之前的版本,可以用下面这种形式
X<5and1or 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)()
时间: 2024-10-07 20:56:58