Python-Lambda
Wenn wir Funktionen verwenden, müssen wir manchmal keine explizite Definition einer Funktion vornehmen. Für mehr Komfort können wir in Python Support anonyme Funktionen verwenden auch für anonyme Funktionen vorgesehen.
Zum Beispiel, wenn wir die Summe zweier Zahlen a, b berechnen wollen, also f(a,b) = a + b. Wir können dies auf zwei Arten tun. Die erste besteht darin, explizit eine Funktion f(x,y) zu definieren und dann die Parameter zu übergeben, um das Ergebnis zu erhalten. Die zweite Möglichkeit besteht darin, anonyme Funktionen zu verwenden.
f = lambda x,y:x+y >>>f(1,2) 3
Die anonyme Funktion Lambda x,y:x+y ist eigentlich:
def f(x, y): return x + y
In Python stellt das Schlüsselwort Lambda eine anonyme Funktion dar. Das x und y vor dem Doppelpunkt stellen die Parameter der Funktion dar. Die Syntax der anonymen Funktion lautet:
lambda [arg1[,arg2,arg3....argN]]:expression
In der Lambda-Anweisung können mehrere Parameter stehen, die durch Kommas getrennt sind Der Doppelpunkt wird als Rückgabewert der anonymen Funktion verwendet.
Anonyme Funktion hat die Einschränkung, dass sie nur einen Ausdruck haben kann. Es besteht keine Notwendigkeit, return zu schreiben. Der Rückgabewert der anonymen Funktion ist das Ergebnis des Ausdrucks. Die Verwendung anonymer Funktionen bietet den Vorteil, dass die Funktion keinen Namen hat und Sie sich keine Sorgen über Funktionsnamenkonflikte machen müssen. Darüber hinaus ist die anonyme Funktion auch ein Funktionsobjekt. Sie können die anonyme Funktion auch einer Variablen zuweisen und diese dann zum Aufrufen der Funktion verwenden:
>>> f = lambda x: x * x >>> f <function <lambda> at 0x101c6ef28> >>> f(5) 25
Gleichzeitig können auch anonyme Funktionen als Rückgabewert der Funktion zurückgegeben werden, wie zum Beispiel:
def build(x, y): return lambda: x + y
Danke fürs Lesen, ich hoffe, es kann allen helfen. Vielen Dank für Ihre Unterstützung dieser Website!
Weitere Artikel zum Python-Basis-Tutorial zur anonymen Funktion Lambda finden Sie auf der chinesischen PHP-Website!