问题
I have tried
eval('print("hello world")')
eval('return 0')
which are both incorrect. Why are they invalid and what rules should I follow when using eval()
(other than as little as possible)?
回答1:
In Python, eval()
evaluates expressions (something that results in a value). Both print
and return
are defined as statements (however in Python 3, print
is actually a function call, which is an expression). In the case of executing statements, you need to use the exec statement instead.
回答2:
eval() is used to evaluate a value of a varaible as a variable.
example:
var="Hello World!"
code="var"
print eval(code)
output should be:
Hello World!
来源:https://stackoverflow.com/questions/13851389/what-are-valid-statements-inside-a-python-eval