python中int和eval的区别_python中eval与int的区别浅析
python中eval和int的區(qū)別是什么?下面給大家介紹一下:
1.eval()函數(shù)
eval()能夠以Python表達(dá)式的方式解析并執(zhí)行字符串,并將返回結(jié)果輸出。eval()函數(shù)將去掉字符串的兩個(gè)引號(hào),將其解釋為一個(gè)變量。
作用:
a. 處理數(shù)字
單引號(hào),雙引號(hào),eval()函數(shù)都將其解釋為int類型;三引號(hào)則解釋為str類型。
b.處理字符串類型的字符串
對(duì)于eval()括號(hào)中的的字符串(非數(shù)字),如果字符串帶的是單引號(hào)或者是雙引號(hào)都會(huì)引起NameError,這是因?yàn)閑val()函數(shù)在處理字符串時(shí)會(huì)去掉其兩個(gè)引號(hào)。正確應(yīng)該使用一個(gè)單引號(hào)包含一個(gè)雙引號(hào)組成的三引號(hào)來(lái)包含字符串。
2.int()函數(shù)
int()函數(shù)可以將一個(gè)數(shù)轉(zhuǎn)化為整數(shù)
>>> int('12',16) 18
這里有兩個(gè)地方要注意:
1)12要以字符串的形式進(jìn)行輸入,如果是帶參數(shù)base的話
2)這里并不是將12轉(zhuǎn)換為16進(jìn)制的數(shù),而是說(shuō)12就是一個(gè)16進(jìn)制的數(shù),int()函數(shù)將其用十進(jìn)制數(shù)表示,如下
>>> int('0xa',16) 10 >>> int('10',8) 8
Python中的eval方法接受一個(gè)字符串參數(shù),并且把字符串里面的內(nèi)容當(dāng)成Python代碼來(lái)執(zhí)行;
eval的缺點(diǎn)是執(zhí)行速度慢,并且會(huì)有安全風(fēng)險(xiǎn)
總結(jié)
以上就是python中eval和int的區(qū)別的詳細(xì)內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)的支持。
總結(jié)
以上是生活随笔為你收集整理的python中int和eval的区别_python中eval与int的区别浅析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GO 文档笔记
- 下一篇: oracle dba_waiters中的