Как динамический класс может быть создан с использованием типа (name, base-classes, namespace-dict), может ли быть создана динамическая функция?
Я пробовал делать что-то по строкам:
>>> f = type("f", (function,), {})
NameError: name 'function' is not defined
Хорошо, поэтому я буду умным, но:
>>> def fn():
... pass
...
>>> type(fn)
<type 'function'>
>>> f = type("f", (type(fn),), {})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type 'function' is not an acceptable base type
Является ли Python специально препятствием для создания динамических функций так же, как позволяет динамические классы?
Изменить: заметьте, я бы запретил любое использование exec. Поскольку мой вопрос заключается в том, что сам язык Python разрешает это.
Спасибо заранее.