首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-02-04 
请问如何通过变量的值来调用相应函数?Python codedef func1():passdef func2():pass...def funcn():passde

请问如何通过变量的值来调用相应函数?

Python code
def func1():    passdef 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); 

热点排行