您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)python中eval怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
python中eval的用法:將字符串str當成有效的表達式來求值并返回計算結(jié)果,語法為【eval(source[, globals[, locals]]) -> value】。
python中eval的用法:
python eval() 函數(shù)的功能:將字符串str當成有效的表達式來求值并返回計算結(jié)果。
語法:
eval(source[, globals[, locals]]) -> value
參數(shù):
source
:一個Python表達式或函數(shù)compile()返回的代碼對象
globals
:可選。必須是dictionary
locals
:可選。任意map對象
如果提供了globals參數(shù),那么它必須是dictionary類型;如果提供了locals參數(shù),那么它可以是任意的map對象。
python的全局名字空間存儲在一個叫globals()
的dict對象中;局部名字空間存儲在一個叫locals()
的dict對象中。我們可以用print (locals())來查看該函數(shù)體內(nèi)的所有變量名和變量值。
x = 1 y = 1 num = eval("x+y") print('num',num) def g(): x = 2 y = 2 num1 = eval("x+y") print('num1',num1) num2 =eval("x+y",globals()) print('num2',num2) num3 = eval("x+y",globals(),locals()) print('num3',num3) g() num 2 num1 4 num2 2 num3 4
解析:num2 因為有g(shù)lobals所以是全局變量,執(zhí)行后結(jié)果為4;num3 既有g(shù)lobals 又有l(wèi)ocals,僅在此情況下,優(yōu)先采用locals的值,故計算結(jié)果是2
關(guān)于“python中eval怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。