python中eval函数用法,将字符串转换成表达式

用法:
eval(expression, globals=none, locals=none)

expression:是一个字符串;

globals :全局命名空间,必须是一个字典对象;

locals:局部命名空间,如果被提供,可以是任何映射对象;

举例:

1、a =1

     print(eval('a+7'))         

     结果直接计算为8

2、globals 指定的情况下:

     a=7

     g = {‘a’:9}

      re = eval('a+5',g)   

      结果为14

3、locals,globals 都被指定:

     a=7

     g = {‘a’:9}

     l = {"a":12}

      re = eval('a+5',g,l)   

      结果为17,因为local定义的局部变量,globle定义的全局变量,局部变量会覆盖全局变量;

4、eval可以将字符串转化成相应的数据结构:

如:a = '[1,2,3]'

      eval(a) 可以将a转化成列表,字典列表等结构都适用此方法

 

   

 

 

 

 

 

你可能感兴趣的:(python)