Szukałem o tym i otrzymałem następujące, python obtain variable name of argument in a function, ale nie otrzymuję wymaganej odpowiedzi i rzeczywiście otrzymuję komunikat o błędzie: add() przyjmuje dokładnie 0 argumentów, gdy użyłem kwargs. Przeładowane, aby uzyskać odpowiedź, jeśli taka istnieje.Otrzymywanie nazwy parametru
Mam następujący kod,
def add (arg1, arg2):
z = arg1 + arg2
print arg1Name, arg2Name, z
x = 10
y = 5
add(x,y)
chcę wyjście jako
x y 15
Aby uzyskać dokładny wynik, którego potrzebujesz, jest po prostu ** niemożliwy **. Zanim zacznie się 'add', nazwy, których pragniesz wydrukować, nie będą dostępne do pobrania. Porzuć to i zaakceptuj alternatywy, takie jak te, które cytujesz i źle rozumiesz (wymagające wywołania 'add (x = x, y = y)', aby faktycznie ** zachowały ** te nazwy, których tak bardzo pragniesz - z każdego niewłaściwego powodu :-) –
Aby dodać do tego, co mówi Alex, ponadto, jeśli funkcja nazywa się 'add (3, 4)' lub 'add (some_other_func(), a + b)', to jaka jest "nazwa parametru"? – Thanatos
@AlexMartelli Pomyśl o tym, jak w przypadku błędu, traceback może pokazać dokładnie, które linie źródłowe stosu spowodowały błąd. Więc nie, to nie jest niemożliwe. – tripleee