Python exec 內置語句

Python 內置函數 Python 內置函數


描述

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

需要說明的是在 Python2 中exec不是函數,而是一個內置語句(statement),但是Python 2中有一個 execfile() 函數。可以理解為 Python 3 把 exec 這個 statement 和 execfile() 函數的功能夠整合到一個新的 exec() 函數中去了。

語法

以下是 exec 的語法:

exec obj

參數

  • obj -- 要執行的運算式。

返回值

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

Python 內置函數 Python 內置函數