Methodenparameternamen mit Python extrahieren
In Python kann die Bestimmung der Namen von Methodenparametern für das Refactoring, Debuggen oder Dokumentieren von Code von entscheidender Bedeutung sein . Stellen Sie sich eine Funktion vor, die wie folgt definiert ist:
<code class="python">def a_method(arg1, arg2): pass</code>
Um die Namen der Parameter als Tupel zu erhalten, gibt es mehrere Ansätze:
Verwendung des Inspect-Moduls
Das Inspect-Modul bietet umfangreiche Funktionen zur Untersuchung von Codeobjekten. Es unterstützt das Extrahieren von Parameternamen über inspect.getfullargspec():
<code class="python">import inspect inspect.getfullargspec(a_method) # Output: (['arg1', 'arg2'], None, None, None)</code>
Dies gibt auch ein Tupel zurück, das die Namen der Positionsargumente (in diesem Fall ('arg1', 'arg2')) enthält als Informationen zu Schlüsselwörtern, var-args und Standardwerten (die in diesem Beispiel nicht relevant sind).
Verwendung von inspect.signature()
Seit Python 3.3, Die Funktion inspect.signature() bietet eine umfassende Ansicht der Signatur eines Callables:
<code class="python">inspect.signature(a_method) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
Dadurch wird die Signatur mit allen Parameterinformationen angezeigt, einschließlich Standardwerten und Argumenten variabler Länge.
Vorbehalte
Einige aufrufbare Funktionen, insbesondere integrierte Funktionen in CPython, sind möglicherweise nicht selbsterklärbar. Der Versuch, sie zu überprüfen, kann zu einem ValueError führen.
Das obige ist der detaillierte Inhalt vonWie kann ich Methodenparameternamen in Python extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!