最近在學習python的過程中,遇到了eval()函式,所以便查資料進行了細緻了解,這位大哥的部落格介紹的非常明白,我看了之後才徹底理解,大家可以去看看。
eval()函式用來執行乙個字串表示式,並返回表示式的值,通俗地講就是去掉引數最外層引號並執行語句。
注意:eval的引數必須是字串,否則將會報錯。
>>> eval("68+68")
136>>> eval("print('hello world')")
hello world
>>> eval("'hello world'")
'hello world'
注意:內外引號必須不同,否則無法識別,程式報錯
將乙個元組加雙引號,構成字串,使用eval()函式可以將雙引號去掉得到元組
>>> a="(1,2,3,'hello world')"
>>> b=eval(a)
>>> print(type(a),type(b),b)
(1, 2, 3, 'hello world')
同理,對列表、字典也有相同的作用。
列表
>>> a="['physics','chemistry',1997,2020]"
>>> b=eval(a)
>>> print(type(a),type(b),b)
['physics', 'chemistry', 1997, 2020]
字典
>>> dict=''
>>> new_dict=eval(dict)
>>> print(type(dict),type(new_dict),new_dict)
此外,eval函式也可以直接用來提取使用者輸入的多個值。我們通過下面乙個猜數值例子來對eval()的作用進行進一步學習。
guess=eval(input("請輸出您所猜的數值:"))
if guess==68:
print("您猜對了!")
else:
print("您猜錯了!")
#程式執行結果
請輸出您所猜的數值:86
您猜錯了!
請輸出您所猜的數值:68
您猜對了!
對於上面這個 if else這個二分支結構,我們還可以採取如下這種更加緊湊的寫法:
格式:《表示式1> if 《條件》 else 《表示式2>
guess = eval(input("請輸入您所猜的值:"))
print ("您猜{}了".format("對" if guess == 68 else "錯"))
以上內容如有錯誤或不嚴謹之處,敬請批評指正!謝謝! python內建函式eval
eval 官方文件裡面給出來的功能解釋是 將字串string物件轉化為有效的表示式參與求值運算返回計算結果 語法上 呼叫的是 eval expression,globals none,locals none 返回的是計算結果 expression是乙個參與計算的python表示式 globals是可...
python內建函式 eval
eval 為python的內建函式,它將字串轉化為有效的表示式計算,並返回計算結果。簡單理解為將你輸入的字串當成python表示式執行。1 概念比較簡單,看下面的例子 from functools import reduce value1 eval 1 1 2 3 5 8 13 21 print v...
python內建函式 python的內建函式 方法
1 input 輸入內容時要將內容用引號引起來 input 請輸入密碼 input 請輸入登入名 name input 請輸入姓名 print hello,name 請輸入姓名 binla hello,binla 在列表後邊追加乙個元素 3 extend 在列表之後追加乙個列表 4 insert 位...