What are valid statements inside a python eval(

2019-05-06 19:22发布

问题:

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!


标签: python eval