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!
推薦閱讀:
- Python eval() 函數看這一篇就夠瞭
- Python中eval函數的表達式作用示例
- python變量作用域與列表入門詳解
- python中的eval函數使用實例
- 總結分析Python的5個硬核函數