在Python中,globals()函数的作用是返回当前全局作用域中定义的所有变量和函数的字典

WBOY
发布: 2023-08-27 21:25:06
转载
849 人浏览过

在Python中,globals()函数的作用是返回当前全局作用域中定义的所有变量和函数的字典

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

globals()函数概述

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

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

语法

globals()
登录后复制

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

检索全局变量

在Python中检索全局变量可以使用globals()函数来完成,该函数返回表示当前全局符号表的字典。通过访问此字典并迭代其项目,您可以检索当前范围内所有全局变量的名称和值。

示例

在下面的示例中,我们定义了三个全局变量: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__:  __file__: /home/cg/root/22219/main.py __cached__: None x: 10 y: 5 z: Hello, World! print_globals: 
登录后复制

修改全局变量

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

示例

在下面的示例中,我们定义了一个初始值为10的全局变量x。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 编程技能。

以上是在Python中,globals()函数的作用是返回当前全局作用域中定义的所有变量和函数的字典的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!