Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介
来源:互联网 发布:2017高仿耐克淘宝店 编辑:程序博客网 时间:2024/05/01 04:49
在程序中,我们经常会遇到需要写很多分支语句的情况,这时候一般的作法就是写很多个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 0def get1(): print 1def get2(): print 2def get3(): print 3def get4(): print 4def get5(): print 5def get6(): print 6def get7(): print 7def get8(): print 8def get9(): print 9dict = {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]()
- Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介
- [Java] 使用多个 if 语句、else if 和 switch 的区别
- 用于多分支的条件语句(if-else语句)
- 多个if语句和多个if else语句的区别
- 多个if和else if区别
- 使用分支语句(if…then…else)
- if else if 和多个if的区别.
- 多个if和else if的区别
- Python中的条件分支语句,if , else , else if
- 自制编程语言CXScript(三) 如何实现if语句、else语句并实现分支跳转
- C language 使用if…else if…else语句实现多分支选择结构*(语法结构同C#)
- 为什么使用if else分支语句不好
- 多个if与多个else if详解
- 多个if与多个else if详解
- 多个if与多个else if详解
- 策略模式+工厂方法 实现多分支操作(代替多个if else)
- SQL语句中如何使用含有if....else...判断语句
- SQL语句中如何使用含有if....else...判断语句
- date小记
- jni Android.mk文件分析
- Android的SurfaceView绘图并移动
- C#向前台页面中输出JS代码
- shell之“>/dev/null 2>&1” 详解
- Python中如何避免使用多个分支语句(多个if和else)——函数字典(Function Map)简介
- wince的png贴图
- 堆与栈的区别
- gSoap客户端使用步骤与问题解决
- JavaScript实现x秒后自动跳转
- 使用easyUI创建XP风格左侧面板
- IE老提示“数字证书”过期/错误的解决方法
- spring的详细复习讲解
- view