这是我的代码:
a = \
'''def fun():\n
print 'bbb'
'''
eval(a)
fun()
但它显示错误:
Traceback (most recent call last):
File "c.py", line 8, in <module>
eval(a)
File "<string>", line 1
def fun():
^
SyntaxError: invalid syntax
那我该怎么办呢,
谢谢
最佳答案
带有字符串参数的
eval()
仅适用于表达式。如果你想执行语句,使用exec
:
exec """def fun():
print 'bbb'
"""
但在您这样做之前,请考虑您是否真的需要动态代码。到目前为止,大多数事情都可以在没有的情况下完成。
关于python - 如何使用python从字符串定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5920120/