Python打印变量的名称?

时间:2018-12-23 00:10:27

标签: python

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

variable_1 = 'foo'

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

@Rishabh的回答很好,但是当您在函数中执行打印时,请调用它:

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

f()

它将输出:

[]

因此,您必须使用globals而不是locals

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

这时输出将是:

['variable_1']