Итак, у меня есть класс, как это:Как создать переменную функцию в классе в python 2.7?
class Test(object):
def call(self,instruction,data):
pass
def handle_foo(self,data):
print "Foo: %s" % data
def handle_bar(self,data):
print "%s: bar" % data
И код вызова нравится:
t = Test()
t.call("foo","abc")
t.call("bar","def")
Как сделать определение вызова вызова функций, вставляя переменную «инструкции» в имя функции?
Я попытался это, но он не работает
def call(self,instruction,data):
func = "self.handle_%s" % instruction
func(data)
Вы могли бы просто передать фактическую функцию в качестве параметра, тоже. Функции - это объекты. –