在 Python 中打印变量名

Muhammad Maisam Abbas 2023年1月30日 2022年5月17日
  1. 在 Python 中使用 globals() 函数打印变量名
  2. 在 Python 中使用字典打印变量名
在 Python 中打印变量名

本教程将讨论在 Python 中显示变量名称的方法。

在 Python 中使用 globals() 函数打印变量名

globals() 函数 返回当前全局符号表的字典。符号表是由编译器维护的数据结构,其中包含程序的所有必要信息。这些必要的信息包括变量名、函数、类等。

类似地,还有另一个函数称为 locals() 函数,它返回当前本地符号表的字典。局部符号表包含与程序局部作用域相关的信息,而全局符号表包含与程序全局作用域相关的信息。局部作用域可以指特定的类或特定的函数,而全局作用域是指整个程序。globals()locals() 函数之间的唯一区别是作用域。我们可以搜索这个字典来找到一个与所需变量的值相匹配的值。

下面的代码示例显示了如何使用 globals() 函数打印变量的名称。

variable = 22
vnames = [name for name in globals() if globals()[name] is variable]
print(vnames)

输出:

['variable']

我们使用列表推导式遍历由 globals() 函数获得的字典中的每个元素,并返回与我们的变量值匹配的项目的键。我们将返回值存储在 vnames 列表中并显示所有 vnames 元素。

在 Python 中使用字典打印变量名

如上所述,globals()locals() 函数都返回一个将变量映射到其值的字典。我们可以通过创建一个字典来复制相同的功能,该字典以(键,值)对的形式包含变量名称及其对应的值。下面的代码示例演示如何使用字典打印变量名称。

variable1 = 22
variable2 = 23
vnames = {22: "variable1", 23: "variable2"}
print(vnames[variable1])

输出:

variable1

我们将变量值存储为键,将相应的变量名称存储为 vnames 字典值。每当我们必须打印特定变量的名称时,我们都必须在 vnames[] 中传递值。这个实现很简洁,但需要在修改变量时不断更新。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Python Variable