【发布时间】:2010-09-05 09:46:59
【问题描述】:
在 Python 程序中给定带有函数名称的字符串来调用函数的最佳方法是什么。例如,假设我有一个模块foo,我有一个内容为"bar" 的字符串。拨打foo.bar() 的最佳方式是什么?
我需要获取函数的返回值,这就是为什么我不只使用eval。我想出了如何通过使用eval 定义一个返回该函数调用结果的临时函数来做到这一点,但我希望有一种更优雅的方法来做到这一点。
【问题讨论】:
-
使用 eval 可能会带来一些安全问题!
-
仅供参考:通过动态名称访问字段、类和方法的语言特性称为reflection。可能会使将来的搜索更容易。