python eval()函數(shù)使用詳情
一、eval()函數(shù)是什么?
Python的一個(gè)內(nèi)置函數(shù);
返回傳入字符串的表達(dá)式結(jié)果(官方)
二、eval()函數(shù)語(yǔ)法解析

三、eval()函數(shù)應(yīng)用舉例
3.1 eval()基本應(yīng)用舉例

上述例子中,展示了eval()的3個(gè)應(yīng)用:
- 把字符串轉(zhuǎn)化為代碼表達(dá)式求結(jié)果,如
66+72
- 把字符串轉(zhuǎn)化為其它數(shù)據(jù)類型,如字典、列表、元組、集合等
- 傳遞
globals參數(shù)和locals參數(shù),當(dāng)兩個(gè)參數(shù)都存在時(shí),先查找locals參數(shù),再查找globals參數(shù),locals參數(shù)中同名變量會(huì)覆蓋globals中的變量
3.2 eval()危害舉例

上述例子中,eval()將字符串轉(zhuǎn)成表達(dá)式并執(zhí)行,就可以利用其執(zhí)行系統(tǒng)命令,刪除文件等操作。
3.3 ast.literal_eval()替代eval()實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

上述代碼也能完成類型轉(zhuǎn)換,但由于沒(méi)有使用eval() ,所以產(chǎn)生的安全風(fēng)險(xiǎn)較小。
literal_eval() 函數(shù):會(huì)判斷需要計(jì)算的內(nèi)容計(jì)算后是不是合法的python類型,如果是則進(jìn)行運(yùn)算,否則就不進(jìn)行運(yùn)算。
總結(jié):
到此這篇關(guān)于python eval()函數(shù)使用詳情的文章就介紹到這了,更多相關(guān)python eval()函數(shù)使用內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信