Python:在运行时动态创建函数

标签 python function runtime

如何在 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/

相关文章:

c - C中的函数名是什么类型?

swift - 从函数中打开 NSViewController。菜单栏应用

Java在Mac的java程序中执行程序

algorithm - 递归算法的运行时

Java - 在运行时使用引用名称添加 Swing 组件?

python - 将科学计数法转换为人类可读的 float

python - BeautifulSoup 用 python 抓取表 id

python - 无法在 virtualenv 中使用 pip 安装软件包

python - Altair 中特定于 Pandas 时间序列的操作

javascript - 这段代码有什么问题?为什么它不像我希望的那样工作..?