前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python小知识点-exec的local

python小知识点-exec的local

作者头像
梦无矶小仔
发布2022-08-22 15:05:13
2940
发布2022-08-22 15:05:13
举报
文章被收录于专栏:梦无矶测开实录

exec

描述

exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。

语法

以下是 exec 的语法:

exec(object[, globals[, locals]])

参数

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

返回值

exec 返回值永远为 None。

实例

代码语言:javascript
复制
def a():
    return 500

def b():
    return 800

def m():
    y = 'b'
    x = locals()
    exec('x=%s()'%y)
    print(x['x'])

m() #800
代码语言:javascript
复制
def a():
    return 500

def b():
    return 800


def m():
    y = 'b'
    Z = locals() #相当于是记录了当前这个局部变量里面的所有变量(返回包含当前作用域的局部变量的字典。)
    exec('x=%s()'%y)
    print(Z['x']) #800
    print(Z) #{'y': 'b', 'Z': {...}, 'x': 800}

m()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 梦无矶的测试开发之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • exec
    • 描述
      • 语法
        • 参数
          • 返回值
            • 实例
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档