這篇文章將為大家詳細講解有關(guān)python中eval怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)項城免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。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)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。