在 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[]
中传递值。这个实现很简洁,但需要在修改变量时不断更新。
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