Создание динамической функции Python с пользовательскими именами

Извиняюсь, если этот вопрос уже был поднят и дан ответ. То, что мне нужно сделать, очень просто в концепции, но, к сожалению, я не смог найти ответ на этот вопрос в Интернете.

Мне нужно создавать динамические функции в Python (Python2.7) с пользовательскими именами во время выполнения. Тело каждой функции также необходимо создавать во время выполнения, но оно (почти) одинаково для всех функций.

Я начинаю со списка имен.

func_names = ["func1", "func2", "func3"]

Обратите внимание, что список func_name может содержать список произвольных имен, поэтому имена НЕ будут просто func1, func2, func3, ....

Я хочу, чтобы результат был:

    def func1(*args):
        ...

    def func2(*args):
        ...

    def func3(*args):
        ...

Причина, по которой мне нужно это сделать, заключается в том, что каждое имя функции соответствует тестовому примеру, который затем вызывается из внешнего мира.

Обновить: Пользовательский ввод отсутствует. Я'связывая два конца гораздо большего модуля. Один конец определяет, что представляют собой тестовые случаи, и среди прочего заполняет список тестовых случаев. имена. Другой конец - это сами функции, которые должны иметь отображение 1: 1 с именем тестового примера. Итак, у меня есть название тестовых случаев, я знаю, что я хочу делать с каждым тестовым примером, мне просто нужно создать функции, которые имеют имя тестовых случаев. Поскольку имена тестовых примеров определяются во время выполнения, создание функции на основе этих тестовых примеров также должно выполняться во время выполнения.

ОбновитьЯ также могу обернуть эти пользовательские функции в класс, если это облегчит задачу.

Я могу жестко закодировать содержимое функций (так как они почти одинаковы) в строку, или я могу основать его на ранее определенном базовом классе. Просто нужно знать, как заполнить функции этим контентом.

Например:

    func_content = """
                   for arg in args:
                       print arg
                   """

Заранее спасибо,

мессия

Ответы на вопрос(6)

Ваш ответ на вопрос