eval

扫码查看

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

即实现list,tuple,dict与str之间的转化。

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

eval(expression, globals=None, locals=None)

参数

  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print (locals())来查看该函数体内的所有变量名和变量值。

返回值

返回表达式计算结果。


实例

#返回表达式的值

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
 
#字符串转换成list

>>> a='[[1,2],[3,4]]'
>>> print(type(a))
<class 'str'>
>>> b=eval(a)
>>> b
[[1, 2], [3, 4]]
>>> type(b)
<class 'list'>

#字符串转换成元祖

>>> t='(1,2,3)'
>>> type(t)
<class 'str'>
>>> n=eval(t)
>>> n
(1, 2, 3)
>>> type(n)
<class 'tuple'>

#字符串转换成字典

>>> s="{'a':1}"
>>> type(s)
<class 'str'>
>>> s1=eval(s)
>>> s
"{'a':1}"
>>> type(s1)
<class 'dict'>

>>> eval('{2:1}')
{2: 1}

12-31 14:50
查看更多