Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich die Parameternamen einer Python-Funktion abrufen?

Wie kann ich die Parameternamen einer Python-Funktion abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 02:39:29746Durchsuche

How Can I Get the Parameter Names of a Python Function?

Erhalten von Methodenparameternamen mit Python

Beim Umgang mit Funktionen in Python kann es praktisch sein, deren Argumentnamen abzurufen. Angenommen, wir haben eine Funktion namens a_method, die wie folgt definiert ist:

<code class="python">def a_method(arg1, arg2):
    pass</code>

Um die Argumentnamen als Tupel von Zeichenfolgen abzurufen, können wir das Inspect-Modul verwenden.

<code class="python">import inspect

inspect.getfullargspec(a_method)</code>

Dies gibt a zurück Tupel mit den Argumentnamen: ('arg1', 'arg2').

Das Inspektionsmodul bietet zusätzliche Einblicke in aufrufbare Objekte. Wenn eine Funktion beispielsweise Standardargumente hat oder Argumente variabler Länge akzeptiert, gibt die Funktion getfullargspec auch Informationen darüber zurück.

Zum Beispiel hat die folgende Funktion ein Standardargument und Argumente variabler Länge:

<code class="python">def foo(a, b, c=4, *arglist, **keywords):
    pass</code>

inspect.getfullargspec ergibt:

<code class="python">(['a', 'b', 'c'], 'arglist', 'keywords', (4,))</code>

Dieses Tupel gibt an, dass c einen Standardwert von 4 hat, arglist für Positionsargumente variabler Länge verwendet wird und Schlüsselwörter für Variablen- Länge von Schlüsselwortargumenten.

In Python 3.3 und höher kann die Funktion inspect.signature verwendet werden, um die Aufrufsignatur eines aufrufbaren Objekts einschließlich der Argumentnamen abzurufen. Für die Beispielfunktion foo:

<code class="python">inspect.signature(foo)</code>

Dies gibt ein Signature-Objekt zurück, das detaillierte Informationen über die Signatur der Funktion bereitstellt.

Das obige ist der detaillierte Inhalt vonWie kann ich die Parameternamen einer Python-Funktion abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn