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

 

 
posted @ 2017-05-29 17:14  渊=源  阅读(1490)  评论(0编辑  收藏  举报