python中eval是一個內置函數,它主要是用來將字符串str當成有效的表達式來求值并返回計算結果,比如變量賦值時,等號右邊的表示是寫成字符串的格式,返回值就是這個表達式的結果;它還可以把list、tuple、dict 和 string等變量相互轉化,使用語法為“eval(source[, globals[, locals]]) -> value”。
具體用法分析如下:
python eval() 函數的功能:將字符串str當成有效的表達式來求值并返回計算結果。
語法:eval(source[, globals[, locals]]) -> value
參數說明:
source:一個Python表達式或函數compile()返回的代碼對象
globals:可選。必須是dictionary
locals:可選。任意map對象
如果提供了globals參數,那么它必須是dictionary類型;如果提供了locals參數,那么它可以是任意的map對象。
python的全局名字空間存儲在一個叫globals()的dict對象中;局部名字空間存儲在一個叫locals()的dict對象中。我們可以用print (locals())來查看該函數體內的所有變量名和變量值。
使用示例:
In [1]: eval("1 + 3")Out[1]: 4
In [2]: eval("(1+2)*3")
Out[2]: 9
In [3]: eval("[1, 2, 3]")
Out[3]: [1, 2, 3]
In [5]: eval("type({'name': 'zhangsan'})")
Out[5]: dict