python - 如何使用python从字符串定义函数

标签 python string function

这是我的代码:

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/

相关文章:

python - Gtk 笔记本选项卡大小

python - 从 Matlab 到 Python 代码 [z,index]=sort(abs(z));

python - Flask session 属性在初始加载后丢失类型

c - c 如何将字符变量与字符串进行比较?

java - 在 Java 中,到 "build"并逐个字符地使用字符串的最快方法是什么?

string - “相乘”字符串单元格以形成组合字符串的 MxN 大小单元格数组

function - 和谁谈论非递归阿克曼函数?

function - 正确的 Fortran 函数语法

python - Python 中从 MySQL 返回的字符串

c - 来自字符串的意外返回值