Как насчет:
class Foo():
def __init__(self):
self.methods = self.foo, self.bar
def run_methods(self):
for method in self.methods:
print('Running method {}'.format(method.__name__))
method()
def foo(self):
print("foo")
return 0
def bar(self):
print("bar")
return 0
Итак, вы можете запустить ваши методы, вызвав run_methods
. Если вы также хотите получить доступ к их именам, вы всегда можете сделать это с помощью соответствующих им __name__
методов, как указано выше.
f = Foo()
f.run_methods()
# Output:
#
# Running method foo
# foo
# Running method bar
# bar
РЕДАКТИРОВАТЬ: Как предложил другой человек, вы должны отредактировать свой вопрос, чтобы описать в подробнее, что делает myFunction (веселье). Но, inded, вы, вероятно, должны использовать другой подход, чем передача фактических имен в виде строк.