python eval()函數使用詳情

一、eval()函數是什麼?

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

二、eval()函數語法解析

三、eval()函數應用舉例

3.1 eval()基本應用舉例

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

  • 把字符串轉化為代碼表達式求結果,如 66+72
  • 把字符串轉化為其它數據類型,如字典、列表、元組、集合等
  • 傳遞globals參數和locals參數,當兩個參數都存在時,先查找locals參數,再查找globals參數,locals參數中同名變量會覆蓋globals中的變量

3.2 eval()危害舉例

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

3.3 ast.literal_eval()替代eval()實現數據類型轉換

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

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

總結:

到此這篇關於python eval()函數使用詳情的文章就介紹到這瞭,更多相關python eval()函數使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: