私が試してみました
eval('print("hello world")')
eval('return 0')
どちらも正しくありません。なぜそれらは無効なのですか? また、使用する際にはどのような規則に従う必要がありeval()
ますか?
Python では、式(結果が値になるもの) をeval()
評価します。とはどちらもステートメントとして定義されています(ただし、Python 3 では、実際には式である関数呼び出しです)。ステートメントを実行する場合は、代わりにステートメントを使用する必要があります。print
return
print
exec
eval() は、変数の値を変数として評価するために使用されます。
例:
var="Hello World!"
code="var"
print eval(code)
出力は次のようになります。
Hello World!