这个问题在这里已经有一个答案:>
Calling a function of a module from a string with the function’s name in Python10个
class MyClass: def __init__(self,i): self.i = i def get(self): func_name = 'function' + self.i self.func_name() # <-- this does NOT work. def function1(self): //do something def function2(self): //do something
有人可以帮助这个.我已经尝试了很多排列和组合,但没有用! (注:’self.func_name’也不行)
解决方法
def get(self): def func_not_found(): # just in case we dont have the function print "No Function "+self.i+" Found!" func_name = 'function' + self.i func = getattr(self,func_name,func_not_found) func() # <-- this should work!