欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请教怎么通过变量的值来调用相应函数

更新时间: 2014-05-15 02:44:56 责任编辑: Author_N3

 

请问如何通过变量的值来调用相应函数?
Python code
def func1():
    pass
def func2():
    pass
...
def funcn():
    pass
    
def runner(p_type):
    p_type() #类似这样的调用

大家好,请问一个问题。我现在有这样一个需求,通过传递给runner()一个参数,来决定调用哪一个方法。可是p_type的值是不确定的,因此不方便在RUNNER里进行if判断。请问有什么好的方法可以使用吗?


--参考方法--
将类型作为哈希的键,将函数引用作为值,通过键值对找到函数,并调用它。
--参考方法--
你应该直接传一个函数进来,而不是函数名。

非要传函数名,技术上也可以解决,但我不能认为是正确的解决方案。

--参考方法--
Python code

def funcn():
   print("no parameter");

def INeedMoreParams(p1, p2):
   print(p1, p2);

def runner(p_type, *args):
   p_type(*args);

runner(funcn);
runner(INeedMoreParams, 100, 200); 		
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-15 02:44:56
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/344705/
本文WWW.DOC100.NET DOC100.NET版权所有。