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的余数,并打印出来,可以这样写:
用Function Map可以这样写:
在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]()
相关文章推荐
- Python3使用独立的if语句与使用if-elif-else结构的不同之处
- 为什么使用if else分支语句不好
- SQL语句中如何使用含有if....else...判断语句
- 如何在代码中减少if else语句的使用
- Python基础语法(2)——字典、函数定义使用、控制流(if&for&while)
- 在js开发中,如何减少if else语句的使用
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句 .
- 循环语句中的if else 结构里面如何使用break语句?
- 循环语句中的if else 结构里面如何使用break语句?
- Python中在for循环中嵌套使用if和else语句的技巧
- 使用case语句来改善verilog代码中if……else分支过多的问题
- SQL语句中如何使用含有if....else...判断语句
- Python学习入门基础教程(learning Python)--3.2 if-else分支语句
- C language 使用if…else if…else语句实现多分支选择结构*(语法结构同C#)
- orcale单行函数之Case, decode在 SQL 语句中使用IF-THEN-ELSE 逻辑
- Python中在for循环中嵌套使用if和else语句的技巧
- Python中在for循环中嵌套使用if和else语句的技巧
- python3 if elif else 分支语句
- 自制编程语言CXScript(三) 如何实现if语句、else语句并实现分支跳转
- Python中的条件分支语句,if , else , else if