Python Globals()函数

Python Globals()函数

在Python中,每个程序都有一个符号表,其中包含程序中定义的名称(变量、函数和类)的信息。global()函数允许我们访问和操作全局符号表,提供有关程序中当前全局变量的有价值的信息。在本文中,我们将了解这些globals()函数如何工作以及在Python中我们可以使用这个函数做什么。

globals()函数的概述

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

globals()函数返回一个表示当前全局符号表的字典。它提供了对当前范围内所有全局变量及其相应值的访问。通过检查这个字典,我们可以以编程方式检索、修改或删除全局变量。

语法

globals()

在这里,globals()函数不接受任何参数,它只返回表示全局符号表的字典。

检索全局变量

可以使用globals()函数来检索Python中的全局变量,它返回一个表示当前全局符号表的字典。通过访问这个字典并遍历其项目,可以检索当前范围内所有全局变量的名称和值。

示例

在下面的示例中,我们定义了三个全局变量:x、y和z。我们还定义了一个函数print_globals(),调用globals()函数来检索全局符号表。通过遍历结果字典的项目,我们打印出所有全局变量的名称和值。此外,我们还可以看到函数print_globals()本身也存在于全局符号表中。

x = 10
y = 5
z = "Hello, World!"

def print_globals():
    global_vars = globals()
    for name, value in global_vars.items():
        print(f"{name}: {value}")

print_globals()

输出

__name__: __main__
__doc__: None
__package__: None
__loader__: <_frozen_importlib_external.SourceFileLoader object at 0x7f9b30a74a30>
__spec__: None
__annotations__: {}
__builtins__: <module 'builtins' (built-in)>
__file__: /home/cg/root/22219/main.py
__cached__: None
x: 10
y: 5
z: Hello, World!
print_globals: <function print_globals at 0x7f9b30c13d90>

修改全局变量

globals() 函数不仅允许我们检索全局变量,还允许我们修改它们的值。

示例

在下面的示例中,我们定义了一个全局变量 x,初始值为10。modify_global() 函数使用globals()检索全局符号表,并通过直接更新字典条目将 x 的值修改为20。在调用 modify_global() 函数之前和之后打印 x 的值,我们可以看到修改生效。

x = 10

def modify_global():
    global_vars = globals()
    global_vars['x'] = 20

print("Before modification:", x)
modify_global()
print("After modification:", x)

输出

Before modification: 10
After modification: 20

添加新的全局变量

我们还可以使用globals()函数动态地添加新的全局变量。让我们通过一个示例来演示相同的功能。

示例

在下面的示例中,我们定义一个函数add_global(),该函数使用globals()将一个名为new_var的新全局变量添加到全局符号表中。在调用该函数后,我们打印new_var的值,这证实该变量已成功添加并可以全局访问。

def add_global():
    global_vars = globals()
    global_vars['new_var'] = "I'm a new global variable!"

add_global()
print(new_var)

输出

I'm a new global variable!

结论

在本文中,我们讨论了globals()函数是什么以及为什么要使用它。globals()函数用于访问和操作程序中的全局变量。通过使用这个函数,我们可以动态地检索、修改或添加全局变量。通过利用globals()函数的功能,您可以更好地控制程序的全局变量,从而提高您的Python编程技巧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程