Abrufen des Parameternamens

8

Ich habe danach gesucht und folgendes erhalten: python erhalte den Variablennamen des Arguments in einer Funktion , aber ich erhalte keine Antwort und bekomme tatsächlich eine Fehlermeldung, dass add () genau 0 Argumente benötigt, wenn ich Kwargs benutzt habe. Also zurückgeschickt, um eine Antwort zu bekommen, wenn es welche gibt.

Ich habe den folgenden Code,

%Vor%

Ich möchte Ausgabe als

%Vor%     
Shrinidhi Kanchi 16.02.2015, 06:38
quelle

4 Antworten

7

Sie sollten das Attribut func_code.co_varnames Ihrer Funktion verwenden, um auf Parameternamen zuzugreifen:

%Vor%

Ausgabe:

%Vor%

Sie können hier mehr über interne Attribute lesen: Ссылка

    
Eugene Soldatov 16.02.2015 06:48
quelle
4

Ich denke, dass Sie dem, was Sie wollen, am nächsten kommen, sind wie folgt:

%Vor%

Ergebnisse in:

%Vor%     
Marcin 16.02.2015 06:52
quelle
2

Eine Liner-Lösung hier, **kwargs gibt ein Diktat zurück, überprüfen Sie das mit;

%Vor%

Es ist ein normales Diktat. Sie können jedes Element mit grundlegenden dict-Methoden erreichen.

%Vor%

Die Verwendung von kwargs ist eigentlich eine Tradition, Sie können stattdessen verwenden, was Sie wollen. Hier ist die Lösung, dict Tasten drucken und Summe der Werte;

%Vor%     
GLHF 16.02.2015 07:16
quelle
1

Sie können es mit dem Modul traceback machen.

%Vor%

Allerdings müsste die Regex verbessert werden und das Ereignis würde dann dazu führen, dass der Funktionsaufruf nicht über mehrere Zeilen verteilt wird.

Besser, wenn möglich, Code zu ändern, da dies unordentlich ist.

    
Tris Forster 16.02.2015 07:17
quelle

Tags und Links