1. 程式人生 > 其它 >220205_問題解決_python批量建立變數及賦值

220205_問題解決_python批量建立變數及賦值

220205_問題解決_python批量建立變數及賦值

當想要建立大量 變數名 有規律的變數、併為其有規律的賦值時,可以使用exec() 函式。

exec 執行儲存在字串或檔案中的 Python 語句,相比於 eval,exec可以執行更復雜的 Python 程式碼。

語法
以下是 exec 的語法:

exec(object[, globals[, locals]])

object:必選引數,表示需要被指定的 Python 程式碼。它必須是字串或 code 物件。如果 object 是一個字串,該字串會先被解析為一組 Python 語句,然後再執行(除非發生語法錯誤)。如果 object 是一個 code 物件,那麼它只是被簡單的執行。
globals:可選引數,表示全域性名稱空間(存放全域性變數),如果被提供,則必須是一個字典物件。
locals:可選引數,表示當前區域性名稱空間(存放區域性變數),如果被提供,可以是任何對映物件。如果該引數被忽略,那麼它將會取與 globals 相同的值。

runoob.com的一個例子:

x = 10
expr = """
z = 30
sum = x + y + z
print(sum)
"""
def func():
    y = 20
    exec(expr)
    exec(expr, {'x': 1, 'y': 2})
    exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
    
func()

輸出結果:
60
33
34