溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中eval()函數(shù)怎么用

發(fā)布時間:2022-03-03 14:07:19 來源:億速云 閱讀:184 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹python中eval()函數(shù)怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、eval()函數(shù)是什么?

Python的一個內置函數(shù);
返回傳入字符串的表達式結果(官方)

二、eval()函數(shù)語法解析

python中eval()函數(shù)怎么用

三、eval()函數(shù)應用舉例

3.1 eval()基本應用舉例

python中eval()函數(shù)怎么用

上述例子中,展示了eval()的3個應用:

  • 把字符串轉化為代碼表達式求結果,如 66+72

  • 把字符串轉化為其它數(shù)據(jù)類型,如字典、列表、元組、集合等

  • 傳遞globals參數(shù)和locals參數(shù),當兩個參數(shù)都存在時,先查找locals參數(shù),再查找globals參數(shù),locals參數(shù)中同名變量會覆蓋globals中的變量

3.2 eval()危害舉例

python中eval()函數(shù)怎么用

上述例子中,eval()將字符串轉成表達式并執(zhí)行,就可以利用其執(zhí)行系統(tǒng)命令,刪除文件等操作。

3.3 ast.literal_eval()替代eval()實現(xiàn)數(shù)據(jù)類型轉換

python中eval()函數(shù)怎么用

上述代碼也能完成類型轉換,但由于沒有使用eval() ,所以產生的安全風險較小。

literal_eval() 函數(shù):會判斷需要計算的內容計算后是不是合法的python類型,如果是則進行運算,否則就不進行運算。

以上是“python中eval()函數(shù)怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI