Python locals() 函数
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]
# 获取局部变量
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
代码解析:
- locals() 返回函数内的局部变量。
示例 2:动态变量操作
实例
def test():
x = 1
y = 2
# 查看局部变量
vars = locals()
print(f"局部变量: {vars}")
# 添加新变量(不推荐)
vars['z'] = 3
print(f"添加后: {z}") # 可以访问,但不要依赖这个
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
global_var = 100
# 查看全局变量
print(len(locals())) # 包含所有全局变量
print('global_var' in locals()) # 输出: True
# 包含内置函数和导入的模块
import math
print('math' in locals()) # 输出: True
运行结果:
在模块级别使用时,locals() 和 globals() 返回的内容相同。
locals() 主要用于调试和动态代码分析。
Python3 内置函数
点我分享笔记