Вот как вы можете определить функцию, которая возвращает список функций:
def get_func(func_names):
"""Return a list of functions corresponding to a list of names."""
def square(x):
return x * x
def circle(x, y):
return x * y
def rectangle(x, y):
pass
def triangle(x, y):
pass
func_by_name = {
'square': square,
'circle': circle,
'rectangle': rectangle,
'triangle': triangle,
}
return [func_by_name[name] for name in func_names]
Функция, которая возвращает функции с разными сигнатурами, - это хороший способ получить забавные ошибки, но поскольку нет контекста относительно того, чтовы пытаетесь сделать, я не могу предложить лучший способ.