Я хочу иметь возможность вызывать различные методы в классе Python с динамическим именем функции, например,
class Obj(object):
def A(self, x):
print "A %s" % x
def B(self, x):
print "B %s" % x
o = Obj()
# normal route
o.A(1) # A 1
o.B(1) # B 1
# dynamically
foo(o, "A", 1) # A 1; equiv. to o.A(1)
foo(o, "B", 1) # B 1
Что такое "foo"? (или есть какой-то другой подход?) Я уверен, что он должен существовать, но я просто не могу найти его или вспомнить, как он называется. Я смотрел на getattr
, apply
и другие в списке встроенных функций . Это такой простой справочный вопрос, но, увы, вот я!
Спасибо за чтение!