新聞中心
趁著前幾篇講過int()函數(shù)大家還有印象,小編簡單帶大家回顧后,就講講int與eval函數(shù)的區(qū)別。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比中站網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式中站網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋中站地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
1.eval()函數(shù)
eval(<字符串>)能夠以python表達式的方式解析并執(zhí)行字符串,并將返回結(jié)果輸出。eval()函數(shù)將去掉字符串的兩個引號,將其解釋為一個變量。
作用:
a. 處理數(shù)字
單引號,雙引號,eval()函數(shù)都將其解釋為int類型;三引號則解釋為str類型。
b.處理字符串類型的字符串
對于eval()括號中的的字符串(非數(shù)字),如果字符串帶的是單引號或者是雙引號都會引起NameError,這是因為eval()函數(shù)在處理字符串時會去掉其兩個引號。正確應(yīng)該使用一個單引號包含一個雙引號組成的三引號來包含字符串。
2.int()函數(shù)
int()函數(shù)可以將一個數(shù)轉(zhuǎn)化為整數(shù)。
>>> int('12',16) 18
這里有兩個地方要注意:
1)12要以字符串的形式進行輸入,如果是帶參數(shù)base的話
2)這里并不是將12轉(zhuǎn)換為16進制的數(shù),而是說12就是一個16進制的數(shù),int()函數(shù)將其用十進制數(shù)表示,如下
>>> int('0xa',16) 10 >>> int('10',8) 8
Python中的eval方法接受一個字符串參數(shù),并且把字符串里面的內(nèi)容當成Python代碼來執(zhí)行;
eval的缺點是執(zhí)行速度慢,并且會有安全風險。
對比后不難發(fā)現(xiàn),使用eval()函數(shù)有諸多問題要注意,不然容易出現(xiàn)問題。更多Python學習推薦:Python學習網(wǎng)教學中心。
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)
網(wǎng)站標題:創(chuàng)新互聯(lián)Python教程:python之int與eval函數(shù)的區(qū)別
當前地址:http://www.dlmjj.cn/article/dpspipg.html


咨詢
建站咨詢
