Python exec 內置語句
描述
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