如何在Python中打印变量名称?

时间:2018-09-30 15:14:55

标签: python string python-3.x function

我正在尝试定义返回变量名称的函数。

>>> def function(x):
...     return(str(x))
... 
>>> a = 1
>>> function(a)
'1'

我想定义以下功能。我该如何定义?

>>> a = 1
>>> function(a)
a = 1

1 个答案:

答案 0 :(得分:0)

您所要的东西是不可能的,因为输入参数在送入函数之前先经过评估。换句话说,'a'变量名将丢失,只有值1会为您的function提供信息。

如果将变量名作为字符串输入,则可以使用globals

a = 1

def foo(x):
    return f'{x} = {globals()[x]}'

foo('a')  # 'a = 1'

仅出于特定目的才建议使用全局变量。如果变量名称很重要,则可以使用字典:

d = {'a': 1}

def foo(myd, x):
    return f'{x} = {myd[x]}'

foo(d, 'a')  # 'a = 1'

在大多数情况下,词典就足够了。