Python标准库:内置函数exec(object[, globals[, locals]])
2014-11-26 20:13
621 查看
本函数是执行一段语句或函数。参数object是一个字符串的语句或者一个编译过的语句的对象名称。参数globals是全局命名空间,用来指定执行语句时可以访问的全局命名空间;参数locals是局部命名空间,用来指定执行语句时可以访问的局部作用域的命名空间。要注意本函数不会返回任何值,不管函数或语句有任何的返回值语句,比return或yield语句。
如果参数globals和locals忽略,就会使用调用时所处的命名空间。这两个参数都要求是字典形式来说明命名空间。
在前面已经学习compile、eval等函数,那么它们之间有什么区别呢?可以简单地认为它们的区别如下:
compile函数是只编译字符串代码,而不作任何的执行,但它可以编译表达式或语句。
eval函数是只执行表达式字符串代码,而不执行语句代码。
x = eval('%d + 6' % x)
exec函数是只执行语句代码,而不执行表达式代码,因为它没有任何返回值。
exec('if True: print(6)')
例子:
结果输出如下:
100
400
蔡军生 QQ:9073204 深圳
如果参数globals和locals忽略,就会使用调用时所处的命名空间。这两个参数都要求是字典形式来说明命名空间。
在前面已经学习compile、eval等函数,那么它们之间有什么区别呢?可以简单地认为它们的区别如下:
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标准库:内置函数__import__(name, globals=None, locals=None, fromlist=(), level=0)
- Python标准库:内置函数eval(expression, globals=None, locals=None)
- Python标准库:内置函数__import__(name, globals=None, locals=None, fromlist=(), level=0)
- Python标准库:内置函数eval(expression, globals=None, locals=None)
- Python标准库:内置函数eval(expression, globals=None, locals=None)
- Python 内建函数 - exec(object[, globals[, locals]])
- Python标准库:内置函数ascii(object)
- Python标准库:内置函数callable(object)
- devi into python 笔记(七)locals与globals 字典格式化字符串 字符集
- [python] locals 和 globals(python学习14)
- python locals和globals
- Python标准库:内置函数ascii(object)
- 【Python】 Python:locals 和 globals
- Python标准库:内置函数getattr(object, name[, default])
- Python标准库:内置函数dir([object])
- Python标准库:内置函数callable(object)
- Python入门基础知识(1) :locals() 和globals()
- 转:Python:locals 和 globals
- python locals()和globals()