python - 获取输入参数的函数名称

python - Get input argument's name of function

如何获取函数中输入参数的名称?

这是例子

a=1
b=2
c=3
def test(x):
    print(?)

test(b)

结果应该是

b

我觉得这是个简单的问题...?但对我来说不是:)

由于多个变量可以具有相同的值,下面的函数return是一个包含所有变量名的列表,这些变量名包含作为参数传入的值:

a = 1
b = 2
c = 3
def test(x):
    print([k for k, v in globals().items() if v == x])

test(b)

输出:

['b']

当然,您总是可以 return 在第一次匹配出现后:

a = 1
b = 2
c = 3
def test(x):
    for k, v in globals().items():
        if v == x:
            return print(k)

test(b)

输出:

b