zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python小知识点-exec的local

Python知识点 local exec
2023-06-13 09:11:19 时间

exec

描述

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

语法

以下是 exec 的语法:

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

参数

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

返回值

exec 返回值永远为 None。

实例

def a():
    return 500

def b():
    return 800

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

m() #800
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()