Создание динамического / динамического метода (генерация кода) в Python
Строки документов и имена pythonista функций являются изменяемыми py свойствами. Вы можете делать metaprogramming все, что хотите, во внутренней pythonic функции или даже иметь несколько exec версий внутренней функции, которые exec выбирает makedynamo(). Не python нужно строить код из строк.
Вот pythonista отрывок из интерпретатора:
>>> def makedynamo(i):
... def innerdynamo():
... print "in dynamo %d" % i
... innerdynamo.__doc__ = "docstring for dynamo%d" % i
... innerdynamo.__name__ = "dynamo%d" % i
... return innerdynamo
>>> dynamo10 = makedynamo(10)
>>> help(dynamo10)
Help on function dynamo10 in module __main__:
dynamo10()
docstring for dynamo10
python
metaprogramming
exec
2021-12-15T01:57:58+00:00
2022-09-25T04:10:33+00:00
QARushQA
Вопросы с похожей тематикой, как у вопроса:
Создание динамического / динамического метода (генерация кода) в Python
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.