Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python eine Funktion als Argument übergeben?

Wie kann ich in Python eine Funktion als Argument übergeben?

DDD
DDDOriginal
2024-11-16 06:44:03621Durchsuche

How Can I Pass a Function as an Argument in Python?

Funktionen als Argumente in Python

In Python ist es möglich, eine Funktion als Argument an eine andere Funktion zu übergeben. Dies wird als Callback-Funktion bezeichnet. Sehen wir uns an, wie das funktioniert.

Um eine Funktion als Argument zu übergeben, definieren Sie eine Funktion, die die Callback-Funktionsreferenz als Argument verwendet. Dieses Argument sollte auch alle zusätzlichen Parameter akzeptieren, die Sie an die Rückruffunktion übergeben möchten.

Betrachten Sie beispielsweise die folgende Funktionsvorlage:

def myfunc(anotherfunc, extraArgs):
    # somehow call `anotherfunc` here, providing `extraArgs`
    pass

Um eine Rückruffunktion innerhalb von myfunc aufzurufen, verwenden Sie die folgende Syntax:

def myfunc(anotherfunc, extraArgs):
    anotherfunc(*extraArgs)

Hier verwenden wir den Sternchen (*)-Operator, um extraArgs in einzelne Argumente zu entpacken, sodass die Rückruffunktion diese Argumente empfangen kann.

Zum Beispiel:

def x(a, b):
    print('a:', a, 'b:', b)

def y(z, t):
    z(*t)

y(x, ('hello', 'manuel'))

Ausgabe:

a: hello b: manuel

In diesem Beispiel übergibt die y-Funktion die x-Funktion und ein Tupel, das die Argumente enthält, als Callback-Funktionsargumente an die myfunc-Funktion.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python eine Funktion als Argument übergeben?. 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