我想问一下如何获取变量本身的字符串。
variable_1 = 'foo'
将结果打印为'variable_1'
,而不是'foo'
。有内置功能吗?
答案 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']