python local内置函数

在 Python 中,local 是一个内置函数,用于返回当前作用域中的所有变量。

语法

locals()

返回值

一个字典,该字典的键为变量名,值为变量的值。

示例

>>> def foo():
...     a = 1
...     b = 2
...     print(locals())
...
>>> foo()
{'a': 1, 'b': 2}

在上述示例中,我们定义了一个名为 foo() 的函数,在函数内部定义了两个变量 a 和 b。调用 foo() 函数后,使用 locals() 函数返回当前作用域中的所有变量,结果为:

{'a': 1, 'b': 2}

注意事项

  • locals() 函数只能返回当前作用域中的变量。
  • 在函数内部使用 locals() 函数,将返回函数内部定义的所有变量。

应用场景

locals() 函数可用于以下场景:

  • 在调试程序时,用于查看当前作用域中的所有变量。
  • 在编写宏或函数时,用于获取宏或函数内部定义的变量。

Python 中的 local 是关键字,用于获取局部变量。

局部变量是定义在函数或类方法内部的变量。局部变量的作用域仅限于函数或类方法内部,在函数或类方法外部无法访问。

使用 local 关键字可以获取局部变量的值。例如,以下代码将获取函数内部定义的变量 x 的值:

def foo():
    x = 1
    return local("x")

print(foo())

输出:

1

也可以使用 locals() 函数获取所有局部变量。例如,以下代码将获取函数内部定义的所有变量:

def foo():
    x = 1
    y = 2
    return locals()

print(foo())

输出:

{'x': 1, 'y': 2}

注意,locals() 函数还会返回全局变量。要仅获取局部变量,可以使用 locals().values() 方法。例如,以下代码将获取函数内部定义的所有局部变量:

def foo():
    x = 1
    y = 2
    return locals().values()

print(foo())

输出:

[1, 2]