【问题标题】:How to execute a statement which was a string initially如何执行最初是字符串的语句
【发布时间】:2017-09-01 15:19:54
【问题描述】:

我的问题是关于如何让编译器将我的字符串视为可执行语句,考虑我的字符串 mystr='1+2+3',现在的问题是在函数func 中放入的代码是什么所以当我执行以下命令func(mystr) 我的屏幕上显示 6。

【问题讨论】:

  • 使用eval(mystr)
  • 已解决,谢谢。

标签: python string command execute


【解决方案1】:

使用exec() 不仅仅用于表达式字符串:

def func(mystr):
    exec(mystr)

func("mystr='1+2+3';print(mystr)")

【讨论】:

  • eval() 和 exec() 有什么区别?
  • @franciscosollima exec() 接受任何 Python 代码(句子),而 eval() 只是表达式。链接的文档很清楚;)
【解决方案2】:

eval(mystr).

Documentation here.

【讨论】:

    【解决方案3】:

    你可以使用 eval(mystr)。

     print eval('1+2+3')
    

    给你 6

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      相关资源
      最近更新 更多