Python globals() 函数

Python3 内置函数 Python3 内置函数


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
math: <module 'math'>
os: <module 'os'>
True
False

代码解析:

  1. globals() 返回当前模块的所有全局变量。
  2. 包含导入的模块、函数、类等。

示例 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

运行结果预期:

Hello
0 10 20
在函数中: x = 999
在函数外: x = 999

可以动态修改全局变量,但通常不推荐这样做。

globals() 主要用于调试和动态编程。


Python3 内置函数 Python3 内置函数