Funktionsparameternamen in Python abrufen
In Python werden Funktionsparameter normalerweise mithilfe von Platzhaltervariablen definiert. Obwohl diese Variablen in der Funktionsdefinition explizit benannt sind, sind sie möglicherweise nicht leicht zugänglich, wenn die Funktion von außen überprüft wird.
inspect.getfullargspec
Das Inspektionsmodul bietet eine praktische Methode zum Abrufen der Argumentliste einer Funktion. Durch Aufrufen von inspect.getfullargspec(function), wobei function die Zielfunktion ist, können Sie ein Tupel abrufen, das die Parameternamen enthält.
Beispiel:
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
Dies Beispiel gibt die Parameternamen („arg1“ und „arg2“) als Tupel aus.
inspect.signature (Python 3.3)
Seit Python 3.3, inspect.signature () bietet einen fortgeschritteneren Ansatz zur Überprüfung von Funktionssignaturen. Es gibt ein Signature-Objekt zurück, das die Parameter der Funktion einschließlich ihrer Typen und Standardwerte darstellt.
Beispiel:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass print(inspect.signature(foo)) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
Hinweis:
Einige aufrufbare Funktionen, wie z. B. integrierte Funktionen, sind möglicherweise nicht in allen Python-Implementierungen introspizierbar. In solchen Fällen kann die Verwendung von inspect.getfullargspec() oder inspect.signature() zu einem ValueError führen.
Das obige ist der detaillierte Inhalt vonWie rufe ich Funktionsparameternamen in Python ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!