一、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)
注意:
上面的三組例子都有一個共同點:
字符串的格式必須和字典,元組,列表格式相同,才能進行轉換
