Python 中的 eval() 函數

Python 中的 eval() 函數可以評估字串,並將其轉換為 Python 語句。它可以用於評估用戶輸入,以及在程式碼中動態執行 Python 語句。

eval() 函數的基本用法

eval() 函數的基本用法是將字串作為參數傳遞給它,它將評估字串並返回結果。例如,以下程式碼將評估字串 “2 + 3” 並返回 5:

result = eval("2 + 3")
print(result)

輸出:

5

eval() 函數也可以用於評估多行字串,例如:

result = eval("""
a = 2
b = 3
a + b
""")

print(result)

輸出:

5

eval() 函數的高級用法

除了評估字串之外,eval() 函數還可以接受兩個可選參數:globalslocals

globals 參數是一個字典,它包含了全局變量,而 locals 參數則是一個字典,它包含了局部變量。

例如,以下程式碼將使用 globals 和 locals 參數評估字串:

a = 2
b = 3

result = eval("a + b", {"a": 4, "b": 5}, {"b": 6})
print(result)

輸出:

9

在這個程式碼中,我們將 globals 參數設置為 {“a”: 4, “b”: 5},這意味著在評估字串時,a 的值將為 4,b 的值將為 5。

我們還將 locals 參數設置為 {“b”: 6},這意味著在評估字串時,b 的值將為 6。

因此,字串 “a + b” 將被評估為 4 + 6,並返回結果 9。

總結

本文介紹了 Python 中的 eval() 函數,它可以用於評估字串,並將其轉換為 Python 語句。它還可以接受兩個可選參數:globals 和 locals,可以用於指定全局和局部變量的值。

Categorized in:

Tagged in: