您的位置:首页 > 编程语言 > Python开发

Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介

2012-08-09 16:14 2927 查看
在程序中,我们经常会遇到需要写很多分支语句的情况,这时候一般的作法就是写很多个if和else或者if和else if。但采用这种写法的代码效率比较低,而且可读性也比较差。

在Python中,我们可以采用Function Map的方法,避免使用多个分支语句,提高效率。

具体的作法就是把在某个条件下要执行的过程写成一个函数,然后把该条件本身和对应的函数作为一对Key-Value放入一个字典(Dictionary)中,该字典相当于一个Map。然后只要执行这个Function Map就行了。

例如,下面的代码是求一个数除以10的余数,并打印出来,可以这样写:

while True:
n = raw_input()
i = int(n) % 10
if i == 0:
print 0
elif i == 1:
print 1
elif i == 2:
print 2
elif i == 3:
print 3
elif i == 4:
print 4
elif i == 5:
print 5
elif i == 6:
print 6
elif i == 7:
print 7
elif i == 8:
print 8
elif i == 9:
print 9


用Function Map可以这样写:

def get0():
print 0
def get1():
print 1
def get2():
print 2
def get3():
print 3
def get4():
print 4
def get5():
print 5
def get6():
print 6
def get7():
print 7
def get8():
print 8
def get9():
print 9

dict = {0:get0, 1:get1, 2:get2, 3:get3, 4:get4,
5:get5, 6:get6, 7:get7, 8:get8, 9:get9}

while True:
n = raw_input()
i = int(n) % 10
dict[i]()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: