python输出变量名?

Python print name of the variable?

本问题已经有最佳答案,请猛点这里访问。

我想问一下如何得到变量本身的字符串。

1
variable_1 = 'foo'

将结果打印为'variable_1',而不是'foo'。它有内置的功能吗?


@Rishabh的答案是好的,但是当你在函数中进行打印时,调用它:

1
2
3
4
5
variable_1 = 'foo'
def f():
    print([k for k,v in locals().items() if v == 'foo'])

f()

它将输出:

1
[]

所以你必须使用globals而不是locals

1
2
3
4
variable_1 = 'foo'
def f():
    print([k for k,v in globals().items() if v == 'foo'])
f()

那么现在输出将是:

1
['variable_1']

所有变量都存储在locals()中。您可以尝试以下代码。这将为您提供所有值为"foo"的变量的列表。

1
2
variable_1 = 'foo'
print([k for k,v in locals().items() if v == 'foo'])