首頁 > 軟體

Python中eval()函數的詳細使用教學

2022-07-21 18:00:23

eval()函數

eval() 函數用來執行一個字串表示式,並返回表示式的值。

語法

eval(expression[, globals[, locals]])

expression – 表示式。
globals – 變數作用域,全域性名稱空間,如果被提供,則必須是一個字典物件。
locals–變數作用域,區域性名稱空間,如果被提供,可以是任何對映物件。

返回值:返回表示式計算結果。

範例

我們在從鍵盤輸入資料時,Python接收的是字串型別,這時我們可以使用eval()函數,將輸入的資料進行還原

範例1

n = input()
m = eval(input())
# type()函數可以用來檢測資料型別
print(type(n))
print(type(m))
#利用eval()將字串型別轉為整形
print(type(eval(n)))

輸出結果:

使用eval()函數,將字串還原為數位型別,和int()函數的作用類似

範例2

# 輸入[1,2,3,4]
m = input()  # 得到一個字串
n = eval(input())  # 得到一個列表
print(type(m))
print(type(n))
print(type(n[0]))

輸出結果

將輸入的字串轉為對應的資料型別,列表、元組等資料型別都可以使用這種方式輸入

範例3

# 表示式
s1 = '3*7'
s2 = 'pow(2,3)'
n = eval(s1)
m = eval(s2)
print(n, m)

輸出結果:

對錶示式的結果進行計算,返回計算後的值

附:使用例子

舉一個程式碼隨想錄裡一個解答的例子:

second_num = 1
item = + 
first_num = 2
int(eval(f'{second_num} {item} {first_num}')) # 等價於本1 + 2

其中,格式化字串常數(formatted string literals)是 Python 3.6 新引入的一種字串格式化方法,主要目的是使格式化字串的操作更加簡便。

f-string在形式上是以 f 或者 F 修飾符引領的字串(f’xxx’ 或 F’xxx’),以大括號 {} 標明被替代的欄位。

另一個例子:

# 建立
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.

總結

到此這篇關於Python中eval()函數使用的文章就介紹到這了,更多相關Python eval()函數使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com