gpt4 book ai didi

python - 我可以使用 'eval' 在 Python 中定义函数吗?

转载 作者:太空狗 更新时间:2023-10-29 22:22:44 25 4
gpt4 key购买 nike

我想使用 eval 定义一个 Python 函数:

func_obj = eval('def foo(a, b):  return a + b')

但它返回无效的语法错误?我怎样才能做到?

顺便说一句,我如何在 Python 中将函数 obj 转换为字符串对象?

最佳答案

使用执行eval 用于表达式而不是语句。

>>> exec 'def foo(a, b):  return a + b'
>>> foo(1, 2)
3

来自函数对象的函数代码:

def func():
""" I'm func """
return "Hello, World"
...
>>> import inspect
>>> print inspect.getsource(func)
def func():
""" I'm func """
return "Hello, World"

关于python - 我可以使用 'eval' 在 Python 中定义函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com