这个问题在这里已经有一个答案:>
Calling a function of a module from a string with the function’s name in Python10个
@H_404_2@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’也不行)
解决方法
@H_404_2@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!