码迷,mamicode.com
首页 > 编程语言 > 详细

Python标准库:内置函数exec(object[, globals[, locals]])

时间:2014-11-26 21:00:24      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:python

本函数是执行一段语句或函数。参数object是一个字符串的语句或者一个编译过的语句的对象名称。参数globals是全局命名空间,用来指定执行语句时可以访问的全局命名空间;参数locals是局部命名空间,用来指定执行语句时可以访问的局部作用域的命名空间。要注意本函数不会返回任何值,不管函数或语句有任何的返回值语句,比returnyield语句。

如果参数globalslocals忽略,就会使用调用时所处的命名空间。这两个参数都要求是字典形式来说明命名空间。

在前面已经学习compileeval等函数,那么它们之间有什么区别呢?可以简单地认为它们的区别如下:

compile函数是只编译字符串代码,而不作任何的执行,但它可以编译表达式或语句。

eval函数是只执行表达式字符串代码,而不执行语句代码。

x = eval(‘%d + 6‘ % x)

exec函数是只执行语句代码,而不执行表达式代码,因为它没有任何返回值。

exec(‘if True: print(6)‘)

例子:

#exec()

exec(‘if True: print(100)‘)
exec(‘‘‘
x = 200
if x > 100:
	print(x + 200)
‘‘‘)

结果输出如下:

100

400



蔡军生 QQ:9073204  深圳

Python标准库:内置函数exec(object[, globals[, locals]])

标签:python

原文地址:http://blog.csdn.net/caimouse/article/details/41521079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!