eval函数:
eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict。 eval函数的语法<font style="background-color:#FFFB8F;">eval(expression[,globals[,locals]])</font>
参数:
<font style="color:#F5222D;">expression</font>
:表达式
<font style="color:#F5222D;">globals</font>
:变量作用域,如果被提供,必须是一个字典对象
<font style="color:#F5222D;">locals</font>
:变量作用域,如果被提供,可以说任何映射对象
案例
- 字符串转换列表
str_a = "[1,2,3,4,5]" # 字符串类型数据
lis_b = eval(str_a) # 列表类型数据
print(lis_b,type(lis_b))
输出结果
[1, 2, 3, 4, 5] <class 'list'>
- 字符串转换字典
str_a = "{'name':'cherry','age':25}" # 字符串类型数据
dic_b = eval(str_a) # 字典类型数据
print(dic_b,type(dic_b))
输出结果
{'name': 'cherry', 'age': 25} <class 'dict'>
- 字符串转换元祖
str_a = "(1,2,3,4,5)" # 字符串类型数据
tup_b = eval(str_a) # 元组类型数据
print(tup_b,type(tup_b))
输出结果
(1, 2, 3, 4, 5) <class 'tuple'>
- 返回表达式的值
num = 2
print(eval('3*num')) # 返回3*2的值 6
dic = {'a':3}
print(eval('a+1', dic)) # 返回字典a对应的值+1 4
dic1 = {'a':3,'b':6}
dic2 = {'d':4,'c':3}
print(eval('a+b+c+d', dic1, dic2)) # 返回字典所有值相加
- 返回去引号的值或者执行相应的方法