То, что мне нужно сделать, по своей сути очень просто, но, к сожалению, я не смог найти на него ответ в Интернете.
Мне нужно создавать динамические функции в Python (2.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
"""
Подробнее здесь: https://stackoverflow.com/questions/131 ... stom-names
Создание динамических функций Python с собственными именами ⇐ Python
Программы на Python
-
Anonymous
1769615399
Anonymous
То, что мне нужно сделать, по своей сути очень просто, но, к сожалению, я не смог найти на него ответ в Интернете.
Мне нужно создавать динамические функции в Python (2.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
"""
Подробнее здесь: [url]https://stackoverflow.com/questions/13184281/python-dynamic-function-creation-with-custom-names[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия