Python中switch条件分支结构的实现一般是通过字典来实现,或许这个基本上是最初接触过Python的人也能够掌握的技巧。不过在更深入模拟C语言中的switch语句功能上,还是有一点其他的小技巧需要注意一下。
简单实现一个switch的分支结构,示范代码如下:
#!/usr/bin/python
def Func1():
print("function 1")
def Func2():
print("function 2")
def Func3():
print("function 3")
dict_data ={1:Func1,2:Func2,3:Func3}
defSwitchDemo(num):
dict_data[num]()
for i inrange(1,4):
SwitchDemo(i)
程序的运行结果如下:
E:\WorkSpace\01_编程语言\03_Python\OOP>python switch.py
function 1
function 2
function 3
从上面看,基本上实现了一个switch语句的功能。而多重分支都走同样的逻辑时,只需要把多个分支的“标签”堆叠到同一个字典中即可。简单修改代码以示范,代码如下:
#!/usr/bin/python
def Func1():
print("function 1")
def Func2():
print("function 2")
def Func3():
print("function 3")
dict_data ={1:Func1,2:Func2,3:Func3}
defSwitchDemo(num):
dict_data[num]()
if i < 3:
{1:Func1,2:Func1}[num]()
for i inrange(1,4):
SwitchDemo(i)
程序的执行结果如下:
E:\WorkSpace\01_编程语言\03_Python\OOP>python switch.py
function 1
function 1
function 2
function 1
function 3