当前位置:  开发笔记 > 编程语言 > 正文

我可以有条件地改变我正在呼叫的功能吗?

如何解决《我可以有条件地改变我正在呼叫的功能吗?》经验,为你挑选了1个好方法。

对不起,如果以前曾经问过这个,但是我找不到要搜索的单词会给我一个我正在寻找的答案.

我正在编写一个包含辅助函数的脚本,该函数反过来可以调用几个函数中的一个函数,这些函数都采用相同的参数.在这个辅助函数中,我最终得到了这样的字符串:

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)

这样我可以调用任意函数名称.有可能吗?



1> GingerPlusPl..:

是的,您可以通过使用dict映射名称来实现功能:

funcs = dict(
    func1=func1,
    func2=func2,
    func3=func3
)

funcs[funcName](p1, p2, p3)

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有