Python3 exec 函數

Python3 內置函數 Python3 內置函數


描述

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

語法

以下是 exec 的語法:

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

參數

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

返回值

exec 返回值永遠為 None。


實例

以下展示了使用 exec 的實例:

實例 1

>>>exec('print("Hello World")') Hello World # 單行語句字串 >>> exec("print ('xuhuhu.com')") zaixian.com # 多行語句字串 >>> exec ("""for i in range(5): ... print ("iter time: %d" % i) ... """) iter time: 0 iter time: 1 iter time: 2 iter time: 3 iter time: 4

實例 2

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

Python3 內置函數 Python3 內置函數