Python中eval()函數(shù)的詳細(xì)使用教程
eval()函數(shù)
eval() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值。
語法
eval(expression[, globals[, locals]])
expression – 表達(dá)式。
globals – 變量作用域,全局命名空間,如果被提供,則必須是一個(gè)字典對(duì)象。
locals–變量作用域,局部命名空間,如果被提供,可以是任何映射對(duì)象。返回值:返回表達(dá)式計(jì)算結(jié)果。
實(shí)例
我們?cè)趶逆I盤輸入數(shù)據(jù)時(shí),Python接收的是字符串類型,這時(shí)我們可以使用eval()函數(shù),將輸入的數(shù)據(jù)進(jìn)行還原
實(shí)例1
n = input() m = eval(input()) # type()函數(shù)可以用來檢測(cè)數(shù)據(jù)類型 print(type(n)) print(type(m)) #利用eval()將字符串類型轉(zhuǎn)為整形 print(type(eval(n)))
輸出結(jié)果:

使用eval()函數(shù),將字符串還原為數(shù)字類型,和int()函數(shù)的作用類似
實(shí)例2
# 輸入[1,2,3,4] m = input() # 得到一個(gè)字符串 n = eval(input()) # 得到一個(gè)列表 print(type(m)) print(type(n)) print(type(n[0]))
輸出結(jié)果

將輸入的字符串轉(zhuǎn)為對(duì)應(yīng)的數(shù)據(jù)類型,列表、元組等數(shù)據(jù)類型都可以使用這種方式輸入
實(shí)例3
# 表達(dá)式 s1 = '3*7' s2 = 'pow(2,3)' n = eval(s1) m = eval(s2) print(n, m)
輸出結(jié)果:

對(duì)表達(dá)式的結(jié)果進(jìn)行計(jì)算,返回計(jì)算后的值
附:使用例子
舉一個(gè)代碼隨想錄里一個(gè)解答的例子:
second_num = 1
item = +
first_num = 2
int(eval(f'{second_num} {item} {first_num}')) # 等價(jià)于本1 + 2
其中,格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一種字符串格式化方法,主要目的是使格式化字符串的操作更加簡(jiǎn)便。
f-string在形式上是以 f 或者 F 修飾符引領(lǐng)的字符串(f’xxx’ 或 F’xxx’),以大括號(hào) {} 標(biāo)明被替代的字段。
另一個(gè)例子:
# 創(chuàng)建
my_dict = {'name':'Hider',
? ? ? ? ? ?'age':'100'}
print(f"My name is {my_dict['name']}, I'm {my_dict['age']}.")
# My name is Hider, I'm 100.總結(jié)
到此這篇關(guān)于Python中eval()函數(shù)使用的文章就介紹到這了,更多相關(guān)Python eval()函數(shù)使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas數(shù)據(jù)類型轉(zhuǎn)換df.astype()及數(shù)據(jù)類型查看df.dtypes的使用
Python,numpy都有自己的一套數(shù)據(jù)格式,本文主要介紹了Pandas數(shù)據(jù)類型轉(zhuǎn)換df.astype()及數(shù)據(jù)類型查看df.dtypes的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
在python中利用GDAL對(duì)tif文件進(jìn)行讀寫的方法
今天小編就為大家分享一篇在python中利用GDAL對(duì)tif文件進(jìn)行讀寫的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
巧妙使用Python裝飾器處理if...elif...else
大家好,今天在 Github 閱讀 EdgeDB[1] 的代碼,發(fā)現(xiàn)它在處理大量if…elif…else的時(shí)候,巧妙地使用了裝飾器,方法設(shè)計(jì)精巧,分享給大家一下,歡迎收藏學(xué)習(xí),喜歡點(diǎn)贊支持2021-11-11
python 如何將帶小數(shù)的浮點(diǎn)型字符串轉(zhuǎn)換為整數(shù)
在python中如何實(shí)現(xiàn)將帶小數(shù)的浮點(diǎn)型字符串轉(zhuǎn)換為整數(shù)呢?今天小編就為大家介紹一下解決方案,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05
Python獲取Redis所有Key以及內(nèi)容的方法
今天小編就為大家分享一篇Python獲取Redis所有Key以及內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python自定義函數(shù)實(shí)現(xiàn)最大值的輸出方法
今天小編就為大家分享一篇python自定義函數(shù)實(shí)現(xiàn)最大值的輸出方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07

