2017-09-01 47 views
-2

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

+1

使用'的eval(myStr的)' –

+0

解决了,谢谢你。 – Mehdi

回答

3

使用exec()的不仅仅是表达字符串的更多:

def func(mystr): 
    exec(mystr) 

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

eval()和exec()有什么区别? –

+0

@franciscosollima [exec()](https://docs.python.org/3/library/functions.html#exec)在[eval()](https://docs.python) .org/3/library/functions.html#eval)只是表达式。链接的文档很清晰;) –

+1

谢谢!文档之前没有关联,好的添加! –

0

您可以使用eval(myStr中)。

print eval('1+2+3') 

为您提供了6