Функции - это объекты первого класса в Python, поэтому вы можете отправлять их, используя словарь. Например, если foo
и bar
- функции, а dispatcher
- словарь, подобный этому.
dispatcher = {'foo': foo, 'bar': bar}
Обратите внимание, что значения foo
и bar
являются объектами функций, а НЕ foo()
и bar()
.
Чтобы позвонить foo
, вы можете просто набрать dispatcher['foo']()
РЕДАКТИРОВАТЬ: Если вы хотите запустить несколько функций, хранящихся в списке, вы можете сделать что-то вроде этого.
dispatcher = {'foobar': [foo, bar], 'bazcat': [baz, cat]}
def fire_all(func_list):
for f in func_list:
f()
fire_all(dispatcher['foobar'])