Python exec函数用法

定义和用法

exec() 函数执行指定的 Python 代码。

exec() 函数接受大量代码块,这与 eval() 函数仅接受单个表达式不同。

语法

exec(object, globals, locals)
  • object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象(可以通过compile函数创建)。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。
  • globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
  • locals:可选参数,表示当前局部命名空间(存放局部变量),如果该参数被忽略,那么它将会取与globals相同的值。
  • 如果globals与locals都被忽略,那么它们将取exec()函数被调用环境下的全局命名空间和局部命名空间。

所谓全局变量和局部变量,都是相对与object而言,在object内定义的变量为局部变量,在object之外定义的变量为全局变量。

d = 4 #相对要执行的代码而言,d为全局变量
locals = {'c': 3} # 还可以提前赋值
exec('a=1\nb=2', {}, locals)
print(locals)

#输出
{'c': 3, 'a': 1, 'b': 2}

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值