首页 > 解决方案 > 如何在python中获取已定义变量的字符串名称?

问题描述

我们知道,在 python 中,您可以获得已定义函数的名称:例如。

def f(x):
    return x

print(f"we've just defined function {f.__name__}")

假设我创建了一个变量:

x = 4

现在在某些时候我想做:

print(f"you have defined a variable named {x.__name__}")

但是上面的语法给出了一个错误,因为x没有这样的属性。

有没有办法从变量的值中获取变量的名称,就像我们可以使用定义函数的值一样?

标签: pythontext-extractionvariable-names

解决方案


在解释器中,您可以简单地调用 dir() ,它将输出当前在解释器中初始化的所有变量。您还可以通过编写使用脚本显示它们

print(dir())

此输出的示例如下所示:

['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'math', 'numpy', 'plt', 'polar', 'r', 'theta', 'time', 'x', 'y']

请注意,这些变量中的每一个都按字母顺序列出,并且可以作为列表对象进行迭代。


推荐阅读