Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich Methodenparameternamen in Python ab?

Wie rufe ich Methodenparameternamen in Python ab?

Susan Sarandon
Freigeben: 2024-11-03 06:52:30
Original
1031 Leute haben es durchsucht

How to Retrieve Method Parameter Names in Python?

Abrufen von Methodenparameternamen

Gegeben eine definierte Funktion wie:

def a_method(arg1, arg2):
    pass
Nach dem Login kopieren

Wie können wir die Argumentnamen abrufen? als Tupel von Zeichenfolgen, wie ("arg1", "arg2")?

Verwendung des Inspect-Moduls

Das Inspect-Modul ermöglicht es uns, Codeobjekte zu überprüfen und abzurufen ihre Eigenschaften. Um die Argumentnamen einer_Methode zu erhalten, verwenden Sie inspect.getfullargspec():

>>> inspect.getfullargspec(a_method)
(['arg1', 'arg2'], None, None, None)
Nach dem Login kopieren

Das Ergebnis besteht aus den Argumentnamen und zusätzlichen Informationen, wie den Namen der args und * kwargs-Variablen und ihre Standardwerte.

def foo(a, b, c=4, *arglist, **keywords): pass
>>> inspect.getfullargspec(foo)
(['a', 'b', 'c'], 'arglist', 'keywords', (4,))
Nach dem Login kopieren

Verwendung von inspect.signature()

In Python 3.3 und höher können wir inspect.signature() zum Abrufen verwenden die Aufrufsignatur eines aufrufbaren Objekts:

>>> inspect.signature(foo)
<Signature (a, b, c=4, *arglist, **keywords)>
Nach dem Login kopieren

Dies stellt eine detailliertere Signatur bereit, einschließlich der Parametertypen und Standardwerte.

Hinweis: Einige aufrufbare Objekte in Python sind möglicherweise nicht selbsterkennbar, insbesondere solche, die in C in CPython definiert sind. In solchen Fällen löst inspect.getfullargspec() einen ValueError aus.

Das obige ist der detaillierte Inhalt vonWie rufe ich Methodenparameternamen in Python ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage