VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • Python中eval与exec的使用及区别(3)

因为我们说过了,exec函数的返回值永远为None。

 

实例2:

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

输出结果:

1
2
3
60
33
34

 

对输出结果的解释:

 

前两个输出跟上面解释的eval函数执行过程一样,不做过多解释。关于最后一个数字34,我们可以看出是:x = 1, y = 3是没有疑问的。关于z为什么还是30而不是4,这其实也很简单,我们只需要在理一下代码执行过程就可以了,其执行过程相当于:

1
2
3
4
5
6
7
8
9
= 1
= 2
def func():
  = 3
  = 4
  = 30
  sum = + + z
  print(sum)
func()

相关教程