python內建函式 eval函式

2021-10-02 11:00:22 字數 1412 閱讀 7099

最近在學習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 位...