码迷,mamicode.com
首页 > 编程语言 > 详细

Python的'函数指针'的使用

时间:2015-08-30 19:15:33      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

其实Python是不存在指针这一个说法的,更不用说是函数指针了,但是也有相应的处理方式。

我这里使用这一个函数指针,其实也是为了代码的简洁以及扩展性,也就是说还是可以用其他的方式来实现其所需要实现的功能的。

遇到的情况是:
有一个Status状态,当其为1的时候,需要执行函数A, 为2的时候需要执行函数B....如果可取的值很多的时候会比较麻烦。

常用的解决方法就是直接if...elif..elif....使用若干个这样的条件语句进行处理(因为Python也没有switch语句.....)

而遇到这种情况,‘函数指针‘就能够发挥很重要的作用了,可以直接使用一个Map,key就是各种条件取值,value就是对应所需要执行的函数,所以就可以直接通过key进行函数的访问执行了,避免了许多if和else的操作了......

 1 #coding=utf-8
 2 
 3 class Interface(object):
 4     def __init__(self):
 5         self.valueFunctions = {
 6                             color: self.color_values, 
 7                             positions: self.positions_values, 
 8                             }
 9 
10     def color_values(self):
11         print "color"
12 
13     def positions_values(self):
14         print "positions"
15 
16     def test(self):
17         self.valueFunctions[color]()
18         self.valueFunctions[positions]()
19 
20 if __name__ == "__main__":
21     go = Interface()
22     go.test()

 

Python的'函数指针'的使用

标签:

原文地址:http://www.cnblogs.com/be-saber/p/4771230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!