首頁 >後端開發 >Python教學 >python中eval的用法是什麼

python中eval的用法是什麼

coldplay.xixi
coldplay.xixi原創
2021-03-02 13:52:39119501瀏覽

python中eval的用法:將字串str當成有效的表達式來求值並傳回計算結果,語法為【eval(source[, globals[, locals]]) -> 值】。

python中eval的用法是什麼

本教學操作環境:windows7系統、python3.9版,DELL G3電腦,此方法適用於所有品牌電腦。

python中eval的用法:

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())來查看該函數體內的所有變數名稱和變數值。

 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 因為有globals所以是全域變量,執行後結果為4;num3 既有globals 又有locals,僅在此情況下,優先採用locals的值,故計算結果是2

相關免費學習推薦:python影片教學

#

以上是python中eval的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn