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>:变量作用域,如果被提供,可以说任何映射对象

案例

  1. 字符串转换列表
  1. str_a = "[1,2,3,4,5]" # 字符串类型数据
  2. lis_b = eval(str_a) # 列表类型数据
  3. print(lis_b,type(lis_b))
  4. 输出结果
  5. [1, 2, 3, 4, 5] <class 'list'>
  1. 字符串转换字典
  1. str_a = "{'name':'cherry','age':25}" # 字符串类型数据
  2. dic_b = eval(str_a) # 字典类型数据
  3. print(dic_b,type(dic_b))
  4. 输出结果
  5. {'name': 'cherry', 'age': 25} <class 'dict'>
  1. 字符串转换元祖
  1. str_a = "(1,2,3,4,5)" # 字符串类型数据
  2. tup_b = eval(str_a) # 元组类型数据
  3. print(tup_b,type(tup_b))
  4. 输出结果
  5. (1, 2, 3, 4, 5) <class 'tuple'>
  1. 返回表达式的值
  1. num = 2
  2. print(eval('3*num')) # 返回3*2的值 6
  3. dic = {'a':3}
  4. print(eval('a+1', dic)) # 返回字典a对应的值+1 4
  5. dic1 = {'a':3,'b':6}
  6. dic2 = {'d':4,'c':3}
  7. print(eval('a+b+c+d', dic1, dic2)) # 返回字典所有值相加
  1. 返回去引号的值或者执行相应的方法

eval函数使用 - 图1