❶ python中eval函數的用法詳解
可以把list,tuple,dict和string相互轉化。
1、字元串轉換成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
>>> b = eval(a)
>>> print b[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>> type(b)
2、字元串轉換成字典
>>> a = "{1: 'a', 2: 'b'}"
>>> type(a)
>>> b = eval(a)
>>> print b{1: 'a', 2: 'b'}
>>> type(b)
3、字元串轉換成元組
>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>> type(a)
>>> b = eval(a)
>>> print b([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>> type(b)
4、eval()函數傳進去的參數必須是字元串或者是對象
示例1:
>>>a=10;
>>>print(eval("a+1"))
>>>執行結果: 11
示例2:
>>>a=10;
>>>g={'a':4}
>>>print(eval("a+1",g))
>>>執行結果:5
示例3:
>>>a=10
>>>b=20
>>>c=30
>>>g={'a':6,'b':8}
>>>t={'b':100,'c':10}
>>>print(eval('a+b+c',g,t))
>>>執行結果:116 (a=6, b=100, c=10)
5、eval函數,eval去除引號後會檢查到它是不是可計算的,如果可計算會將計算的結果列印出來,如果不可計算直接返回結果
示例1:不可計算》》》直接輸出結果
>>>s='["a","b","c"]'
>>>print(eval(s))
>>>執行結果: ['a', 'b', 'c']
示例2:表達式可計算》》》計算之後輸出結果
>>>s='abs(-10)'
>>>print(eval(s))
>>>輸出結果:10
5、eval()函數,功能是將string變成算術表達式來執行
示例1:
>>>eval("1+2")
>>>執行結果: 3
示例2:
>>> eval("print(\"hello, world\")")
>>>輸出結果:hello, world