Python globals() 函数
globals() 是 Python 中用于返回当前全局作用域中变量字典的内置函数。
globals() 返回一个包含当前模块所有全局变量的字典。这个字典包含所有导入的模块、定义的函数、类以及全局变量。
单词释义: globals 意为"全局的",表示全局作用域中的变量。
基本语法与参数
语法格式
globals()
参数说明
- 无参数
函数说明
- 返回值: 返回一个字典,包含全局作用域的变量。
实例
示例 1:查看全局变量
实例
# 定义一些全局变量
global_var = 100
global_list = [1, 2, 3]
import math
import os
# 获取全局变量字典
g = globals()
print(f"变量数量: {len(g)}")
# 查看特定变量
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# 检查变量是否存在
print('global_var' in g) # 输出: True
print('unknown' in g) # 输出: False
global_var = 100
global_list = [1, 2, 3]
import math
import os
# 获取全局变量字典
g = globals()
print(f"变量数量: {len(g)}")
# 查看特定变量
print(f"global_var: {g.get('global_var')}")
print(f"math: {g.get('math')}")
print(f"os: {g.get('os')}")
# 检查变量是否存在
print('global_var' in g) # 输出: True
print('unknown' in g) # 输出: False
运行结果预期:
变量数量: ... global_var: 100 math: <module 'math'> os: <module 'os'> True False
代码解析:
- globals() 返回当前模块的所有全局变量。
- 包含导入的模块、函数、类等。
示例 2:动态操作全局变量
实例
# 动态创建全局变量
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # 输出: Hello
# 批量创建变量
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # 输出: 0 10 20
# 在函数中使用 globals()
def test():
g = globals()
g['x'] = 999
print(f"在函数中: x = {x}")
test()
print(f"在函数外: x = {x}") # 输出: x = 999
globals()['dynamic_var'] = "Hello"
print(dynamic_var) # 输出: Hello
# 批量创建变量
for i in range(3):
globals()[f'var_{i}'] = i * 10
print(var_0, var_1, var_2) # 输出: 0 10 20
# 在函数中使用 globals()
def test():
g = globals()
g['x'] = 999
print(f"在函数中: x = {x}")
test()
print(f"在函数外: x = {x}") # 输出: x = 999
运行结果预期:
Hello 0 10 20 在函数中: x = 999 在函数外: x = 999
可以动态修改全局变量,但通常不推荐这样做。
globals() 主要用于调试和动态编程。
Python3 内置函数
点我分享笔记