¿Cómo puedo obtener el nombre del argumento de entrada en la función?
Aquí hay un ejemplo
a=1 b=2 c=3 def test(x): print(?) test(b)y el resultado debe ser
bCreo que este es un problema fácil...? Pero no para mi :)
Debido al hecho de que varias variables pueden tener el mismo valor, la siguiente función devuelve una lista de todos los nombres de variables que contienen el valor pasado como argumento:
a = 1 b = 2 c = 3 def test(x): print([k for k, v in globals().items() if v == x]) test(b)Producción:
['b']Por supuesto, siempre puede regresar después de la primera aparición de una coincidencia:
a = 1 b = 2 c = 3 def test(x): for k, v in globals().items(): if v == x: return print(k) test(b)Producción:
b