温馨提示×

python中eval的用法示例

沐橙
426
2021-05-07 16:11:54
栏目: 编程语言

python中eval是一个内置函数,它主要是用来将字符串str当成有效的表达式来求值并返回计算结果,比如变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果;它还可以把list、tuple、dict 和 string等变量相互转化,使用语法为“eval(source[, globals[, locals]]) -> value”。python中eval的用法示例

具体用法分析如下:

python eval() 函数的功能:将字符串str当成有效的表达式来求值并返回计算结果。

语法:eval(source[, globals[, locals]]) -> value

参数说明:

source:一个Python表达式或函数compile()返回的代码对象

globals:可选。必须是dictionary

locals:可选。任意map对象

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

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

使用示例:

In [1]: eval("1 + 3")

Out[1]: 4

 

In [2]: eval("(1+2)*3")

Out[2]: 9

 

In [3]: eval("[1, 2, 3]")

Out[3]: [1, 2, 3]

     

In [5]: eval("type({'name': 'zhangsan'})")

Out[5]: dict

0