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

Wie rufe ich Methodenparameternamen in Python ab?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 06:52:30993Durchsuche

How to Retrieve Method Parameter Names in Python?

Abrufen von Methodenparameternamen

Gegeben eine definierte Funktion wie:

def a_method(arg1, arg2):
    pass

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)

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,))

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)>

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!

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