1、打开Python开发工具IDLE,新建‘testEval.py’,并在文件中写代码如下:
a = '[1,2,3]'
print (eval(a))

2、F5运行代码,打印出去掉字符串引号的表达式计算结果,这个函数作用就是返回传入字符串表达式计算结果,上面就变成了列表对象。

3、继续修改代码,体现eval的表达式计算功能,代码如下:
a = '3*4'
print (eval(a))

4、F5运行代码,打印出表达式3*4的计算结果12,证明了eval的计算功能。

5、继续修改代码,在eval函数中使用两个参数,第一个仍然是字符串表达式,第二参数是一个字典,代码如下:
a = '{"x":1,"y":m}'
print (eval(a,{"m":3}))

6、F5运行代码,可以发现字典的键“y”对应的值被后面字典类型的对象替换了。
eval语法格式如下:eval(expression[, globals[, locals]])

7、继续修改代码,在eval函数中使用三个个参数,第一个仍然是字符串表达式,第二参数是一个字典,第三个参数也是一个字典,代码如下:
a = '{"x":1,"y":m}'
m=4
print (eval(a,{"m":3},locals()))

8、F5运行代码,可以发现字典的键“y”对应的值被最后面字典类型的对象替换了。等同于使用下面代码:
a = '{"x":1,"y":m}'
print (eval(a,{"m":3},{"m":4}))

