在C++等语言中,经常会使用到switch-case语句,但是在Python中却没有这个语句。
想要实现这个方法,在Python中有更加简单的巧妙办法:使用字典,因为字典的值可以是任意数据类型
使用一个字典,如代码中的dict,将要执行的函数引用传入:
def func1():
return '调用了函数func1'
def func2():
return '调用了函数func2'
def func3():
return '调用了函数func2'
def func4():
return '调用了函数func2'
def func5():
return '调用了函数func2'
def switch_case(func):
# 字典中是传入函数的引用,不然函数会直接在字典中执行
dict1 = {
'a': func1, # <-----------引用
'b': func2, # <-----------引用
'c': func3, # <-----------引用
'd': func4, # <-----------引用
'e': func5 # <-----------引用
}
a = dict1.get(func)() if func in dict1.keys() else print('函数不存在')
if a:
print(a)
switch_case('a')
这样能够少写if-else,看起来也好看点,运行结果: