Python:Python – 如何通过名称动态调用对象上的函数?

本问题已经有最佳答案,请猛点这里访问。

在python中,假设我有一个字符串,它包含一个类函数的名称,我知道一个特定的对象将有这个类函数,我如何调用它?

那就是:

1
2
3
obj = MyClass() # this class has a method doStuff()
func ="doStuff"
# how to call obj.doStuff() using the func variable?


使用"getattr": http://docs.python.org/library/functions.html?highlight=getattr # getattr

1
2
3
4
5
6
obj = MyClass()
try:
    func = getattr(obj,"dostuff")
    func()
except AttributeError:
    print"dostuff not found"