对不起,如果以前曾经问过这个,但是我找不到要搜索的单词会给我一个我正在寻找的答案.
我正在编写一个包含辅助函数的脚本,该函数反过来可以调用几个函数中的一个函数,这些函数都采用相同的参数.在这个辅助函数中,我最终得到了这样的字符串:
if funcName="func1": func1(p1, p2, p3) elif funcName="func2": func2(p1, p2, p3) elif funcName="func3": func3(p1, p2, p3) ...
我知道我可以使用另一个辅助函数,它也可以获取funcName字符串并将其分配给相应的函数,但是有更好的方法吗?我的大脑想要做的是:
funcName(p1, p2, p3)
这样我可以调用任意函数名称.有可能吗?
是的,您可以通过使用dict
映射名称来实现功能:
funcs = dict( func1=func1, func2=func2, func3=func3 ) funcs[funcName](p1, p2, p3)