我想使用 eval 定义一个 Python 函数:
func_obj = eval('def foo(a, b): return a + b')
但它返回无效语法错误?
我怎样才能做到呢?
顺便说一句,如何在 Python 中将函数 obj 转换为字符串对象?
Use exec
. 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)