如何在 Python 中动态创建函数?
我在这里看到了一些答案,但我找不到能描述最一般情况的答案。
考虑:
def a(x):
return x + 1
如何即时创建这样的功能?我必须 compile('...', 'name', 'exec')
吗?但那又如何呢?从编译步骤创建一个虚拟函数并替换其代码对象?
或者我应该使用 types.FunctionType
吗?怎么样?
我想自定义所有内容:参数的数量、它们的内容、函数体中的代码、结果……
最佳答案
使用执行
:
>>> exec("""def a(x):
... return x+1""")
>>> a(2)
3
关于Python:在运行时动态创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291242/