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

时间:2022-02-21 19:28:09

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

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

?
1
1if x<5else 0

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

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

?
1
X<5and1or 0

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>>def switch(choice):
return dict(enumerate(range(4)))[choice]
 
>>> switch(1)
>>> switch(0)
 
 
values = {
  value1: do_something1,
  value2: do_something2,
  ...
  valueN: do_somethingN,
  }
 
values.get(var, do_default_something)()
 
 
  

以上就是小编为大家带来的浅谈python为什么不需要三目运算符和switch全部内容了,希望大家多多支持服务器之家~