首页 > 代码库 > python exec内置表达式--exec()

python exec内置表达式--exec()

exec obj
功能:
exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。
obj 是 要执行的表达式。
exec 返回值永远为 None。
版本说明:**
需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。
可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。

实例:
 1 >>>exec print "Hello World"
 2 Hello World
 3 # 单行语句字符串
 4 >>> exec "print ‘runoob.com‘"
 5 runoob.com
 6  
 7 #  多行语句字符串
 8 >>> exec """for i in range(5):
 9 ...   print "iter time: %d" % i
10 ... """
11 iter time: 0
12 iter time: 1
13 iter time: 2
14 iter time: 3
15 iter time: 4

实例2:

 1 x = 10
 2 expr = """
 3 z = 30
 4 sum = x + y + z
 5 print(sum)
 6 """
 7 def func():
 8     y = 20
 9     exec(expr)
10     exec(expr, {x: 1, y: 2})
11     exec(expr, {x: 1, y: 2}, {y: 3, z: 4})
12     
13 func()

结果:

1 60
2 33
3 34

 

 

python exec内置表达式--exec()