Python locals() 函数

Python3 内置函数 Python3 内置函数


locals() 是 Python 中用于返回当前作用域局部变量字典的内置函数。

locals() 返回一个包含当前局部作用域中所有变量的字典。这个字典的内容是函数当前执行环境的快照。

单词释义locals 意为"本地的",表示局部作用域中的变量。


基本语法与参数

语法格式

locals()

参数说明

  • 无参数

函数说明

  • 返回值: 返回一个字典,包含当前局部作用域的变量。
  • 注意: 在模块级别调用时,返回 globals() 的内容。

实例

示例 1:在函数中使用

实例

def my_function():
    a = 10
    b = "hello"
    c = [1, 2, 3]

    # 获取局部变量
    local_vars = locals()
    print(local_vars)
    # 输出: {'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}

    # 访问特定变量
    print(local_vars['a'])  # 输出: 10

my_function()

运行结果预期:

{'a': 10, 'b': 'hello', 'c': [1, 2, 3], ...}
10

代码解析:

  1. locals() 返回函数内的局部变量。

示例 2:动态变量操作

实例

def test():
    x = 1
    y = 2

    # 查看局部变量
    vars = locals()
    print(f"局部变量: {vars}")

    # 添加新变量(不推荐)
    vars['z'] = 3
    print(f"添加后: {z}")  # 可以访问,但不要依赖这个

test()

运行结果:

locals() 返回的是字典的拷贝,修改它不会改变实际的局部变量。

示例 3:在模块级别

实例

# 在模块级别,locals() 等同于 globals()
global_var = 100

# 查看全局变量
print(len(locals()))  # 包含所有全局变量
print('global_var' in locals())  # 输出: True

# 包含内置函数和导入的模块
import math
print('math' in locals())  # 输出: True

运行结果:

在模块级别使用时,locals() 和 globals() 返回的内容相同。

locals() 主要用于调试和动态代码分析。


Python3 内置函数 Python3 内置函数