Python globals() 函数



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

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

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

语法

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


 globals()

参数

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

返回值

Python globals() 函数返回表示全局符号表的字典。

globals() 函数示例

练习以下示例来理解 Python 中 globals() 函数的用法:

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

以下是 Python globals() 函数的示例。在此,我们创建了一个调用 globals() 函数来检索全局品种表的方法。通过迭代其 items,我们可以访问全局变量。


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() 方法的帮助下,我们还可以删除特定的 global 属性,如下例所示。


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