python3 exec 函数
描述
exec 执行储存在字符串或文件中的 python 语句,相比于 eval,exec可以执行更复杂的 python 代码。
语法以下是 exec 的语法:
exec(object[, globals[, locals]])参数
- object:必选参数,表示需要被指定的 python 代码。它必须是字符串或 code 对象。如果 object 是一个字符串,该字符串会先被解析为一组 python 语句,然后再执行(除非发生语法错误)。如果 object 是一个 code 对象,那么它只是被简单的执行。
- globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
- locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与 globals 相同的值。
exec 返回值永远为 none。
实例
以下展示了使用 exec 的实例:
实例 1
>>>exec('print("hello world")') hello world # 单行语句字符串 >>> exec("print ('runoob.com')") runoob.com # 多行语句字符串 >>> exec ("""for i in range(5):
... print ("iter time: %d" % i)
... """) iter time: 0 iter time: 1 iter time: 2 iter time: 3 iter time: 4
实例 2
x = 10 expr = """ z = 30
sum = x + y + z
print(sum)""" def func():
y = 20 exec(expr) exec(expr, {'x': 1, 'y': 2}) exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4}) func()
输出结果:
60 33 34
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!