一、eval
1.定义
eval()函数是用来执行一个字符串表达式,并返回表达式的值
2.语法格式
eval(expression[,globals[,locals]])
参数:
- expression:表达式
- globals:变量作用域,全局命名空间,如果被提供,则必须是一个字典对象
- locals:变量作用域,局部命名空间,如果被提供,可以是任何映射对象
注意:如果只给出全局变量,则局部变量默认为全局变量。
3.示例
print(eval("8*8")) print(eval("8+9")) print(eval('pow(2,2)'))
运行结果:
64
17
4
二、字符串转列表
str="[1,2,3,4]" print(type(str)) list1=eval(str) print(list1) print(type(list1))
运行结果:
<class 'str'> [1, 2, 3, 4] <class 'list'>
三、字符串转字典
str2="{'name':'mkf','age':33}" print(type(str2)) dict1=eval(str2) print(type(dict1)) print(dict1)
运行结果:
<class 'str'> <class 'dict'> {'name': 'mkf', 'age': 33}
四、字符串转元祖
str3="(1,2,3,4)" print(type(str3)) tuple1=eval(str3) print(type(tuple1)) print(tuple1)
运行结果:
<class 'str'> <class 'tuple'> (1, 2, 3, 4)
注意:
上面的三组例子都有一个共同点:
字符串的格式必须和字典,元组,列表格式相同,才能进行转换