如何在Python中获取当前环境的所有变量及其值
发布时间:2024-01-16 22:41:15
在Python中,可以使用内置的globals()函数获取当前环境的所有全局变量及其值。该函数返回一个字典,其中键是变量的名称,值是变量的值。
以下是一个使用例子:
# 定义一些全局变量
name = 'Alice'
age = 25
is_student = True
# 获取当前环境的所有全局变量及其值
variables = globals()
# 遍历字典,打印每个变量及其值
for var_name, var_value in variables.items():
print(f'{var_name}: {var_value}')
输出结果为:
__name__: __main__
__doc__: None
__package__: None
__loader__: <class '_frozen_importlib.BuiltinImporter'>
__spec__: None
__annotations__: {}
name: Alice
age: 25
is_student: True
可以看到,除了我们定义的三个变量,还有一些预定义的Python全局变量,如__name__、__doc__等。
如果想只获取自定义的全局变量,可以筛选字典中的键。以下是一个示例:
# 定义一些全局变量
name = 'Alice'
age = 25
is_student = True
# 获取当前环境的所有全局变量及其值
variables = globals()
# 筛选自定义的全局变量
custom_variables = {var_name: var_value for var_name, var_value in variables.items() if not var_name.startswith('__')}
# 遍历字典,打印每个变量及其值
for var_name, var_value in custom_variables.items():
print(f'{var_name}: {var_value}')
输出结果为:
name: Alice age: 25 is_student: True
这样,只打印了我们自己定义的全局变量。
需要注意的是,globals()函数只能获取全局变量,无法获取局部变量。如果需要获取局部变量,可以使用内置的locals()函数。用法与globals()类似,返回一个字典,其中键是变量的名称,值是变量的值。
希望以上解答对您有帮助!
