2017-09-01 70 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