Python globals() 函数



Python 的 **globals() 函数** 返回一个字典,表示当前的全局符号表。它提供了访问当前作用域中所有全局变量及其对应值的功能。借助此功能,我们可以检索、修改或删除全局变量。

在 Python 中,每个程序都有一个符号表,其中包含有关程序中定义的名称(变量函数、类等)的信息。符号表由一个字典表示,其中名称是键,关联的值表示其当前值或引用。

**globals()** 是内置函数之一,不需要任何模块。

语法

Python **globals()** 函数的语法如下所示:

globals()  

参数

Python **globals()** 函数不接受任何参数。

返回值

Python **globals()** 函数返回一个字典,表示全局符号表。

globals() 函数示例

练习以下示例以了解如何在 Python 中使用 **globals()** 函数

示例:使用 globals() 访问全局变量

以下是 Python globals() 函数的一个示例。在这个例子中,我们创建了一个方法,该方法调用 globals() 函数来检索全局符号表。通过迭代其项,我们可以访问全局变量。

nums = 22
def accessMethod():
   globalVar = globals()["nums"]
   print(f"Accessing global number: {globalVar}")

accessMethod()

执行上述程序后,将生成以下输出:

Accessing global number: 22

示例:使用 globals() 修改全局变量

globals() 函数不仅允许我们检索全局变量,还允许我们修改它们的值。在这个例子中,“modifyMethod()”函数使用 globals() 检索全局符号表,并通过直接更新字典条目来修改“nums”的值。

nums = 22
def modifyMethod():
   globalVar = globals()["nums"] = 121
   print(f"Modifying global number: {globalVar}")

modifyMethod()

执行上述程序获得的输出如下:

Modifying global number: 121

示例:访问所有默认全局变量

在下面的示例中,我们使用 globals() 检查所有默认全局变量,然后借助用户自定义函数显示它们。

def pritnGlobals():
   for globalVars in globals().keys():
      print(globalVars)

pritnGlobals()

执行上述程序获得的输出如下:

__name__
__doc__
__package__
__loader__
__spec__
__annotations__
__builtins__
__file__
__cached__
pritnGlobals

示例:使用 globals() 删除全局属性

借助 globals() 方法,我们还可以删除特定的全局属性,如下例所示。

numOne = 52
numTwo = 121
def delGlobal():
    del globals()["numTwo"]
    print(f"Is numTwo exist after deletion: {'numTwo' in globals()}")

delGlobal()

执行上述程序后,显示以下输出:

Is numTwo exist after deletion: False
python_built_in_functions.htm
广告
© . All rights reserved.