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

DDD
Freigeben: 2024-11-16 06:44:03
Original
552 Leute haben es durchsucht

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
Nach dem Login kopieren

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

def myfunc(anotherfunc, extraArgs):
    anotherfunc(*extraArgs)
Nach dem Login kopieren

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'))
Nach dem Login kopieren

Ausgabe:

a: hello b: manuel
Nach dem Login kopieren

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage