Lambda Operator
Lambda ist eigentlich nur eine verkürzte Version einer Funktion. Es wird in einer Zeile ausgedrückt und spart somit den Aufwand eine ganze Funktion zu schreiben. Das macht jedoch nur für simple Aufgaben Sinn.
Schauen wir uns dazu zuerst einmal eine Funktion an:
def wurzelZiehen(zahl):
resultat = zahl**0.5
return resultat
# Funktion aufrufen
wurzelZiehen(4)
2.0
Wenn wir resultat für nichts anderes nutzen als fürs wurzelziehen, dann brauchen wir resultat gar nicht und können den wert direkt zurückgeben:
def wurzelZiehen(zahl):
return zahl**0.5
An sich können wir das sogar anders schreiben:
def wurzelZiehen(zahl): return zahl**0.5
Das ist zwar keine schöne Schreibweise und ist auch nicht empfohlen, jedoch funktioniert es.
Und wenn wir so weit gehen, dann können wir das auch gleich in einem Lambda ausdrücken:
lambda zahl: zahl**0.5
Damit erreichen wir genau das selbe. Das einfach so auszuführen ergibt aber folgende Ausgabe:
<function __main__.<lambda>>
Da wir ja das ganze noch gar nicht ausführen. Das können wir jedoch folgendermaßen machen:
wurzelZiehen = lambda zahl: zahl**0.5
# Funktion ausführen
wurzelZiehen(5)
Wir können also den lambda Ausdruck in einem Objekt speichern und es dadurch zur Funktion machen, die wir dann wiederum aufrufen können.
Schauen wir uns das am Besten noch anhand einiger Beispiele an:
Beispiele zum Lambda Operator in Python
Wenn wir z.B. den Letzten Buchstaben eines Wortes erhalten möchten.
letzterBuchstabe = lambda b : b[-1]
# ausführen
letzterBuchstabe('Python')
n
Oder wenn wir zwei Zahlen miteineander Multiplizieren möchten.
multi = lambda a,b : a*b
# ausführen
multi(5,3)
15
Du siehst also, du kannst auch mit mehreren Parametern arbeiten.
In den nächsten Artikeln lernst Du ein paar Python Methoden, in denen Lambda sehr nützlich sein wird. Also ist es wirklich wichtig, dieses Konzept genau zu verstehen.