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() 函數還可以接受兩個可選參數:globals 和 locals。
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,可以用於指定全局和局部變量的值。