Python eval 函数妙用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python eval 函数妙用相关的知识,希望对你有一定的参考价值。

eval

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

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

参数:

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

globals:可选。必须是dictionary

locals:可选。任意map对象

实例展示:

可以把list,tuple,dict和string相互转化。
#################################################
字符串转换成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
<type str>
>>> b = eval(a)
>>> print b
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>> type(b)
<type list>
#################################################
字符串转换成字典
>>> a = "{1: ‘a‘, 2: ‘b‘}"
>>> type(a)
<type str>
>>> b = eval(a)
>>> print b
{1: a, 2: b}
>>> type(b)
<type dict>
#################################################
字符串转换成元组
>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>> type(a)
<type str>
>>> b = eval(a)
>>> print b
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>> type(b)
<type tuple>

 

eval函数将字符串当成有效Python表达式来求值,并返回计算结果

x = 1
eval(x+1)
eval(x==1)

 

与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示

repr(x==1)
repr(x+1)

 

以上是关于Python eval 函数妙用的主要内容,如果未能解决你的问题,请参考以下文章

Python eval 函数妙用

Python eval 函数妙用

Python:eval的妙用和滥用

Python两行代码实现一个计算器

Python3 locals函数的妙用

关于setTimeout的妙用