lambda Funktionen sollen uns die Tipparbeit bei sehr kurzen Methoden abnehmen.
lambda Funktionen
Vielleicht es die auch schon mal passiert, dass du dachtest. Warum muss ich für eine ganz simple Methode noch so Dinge wie def methodenname:
tippen? Mit lambda ist dies nicht nötig. Sie ist sowas wie eine anonyme Funktion. Sehen wir uns doch mal eine einfache Methode an, um Quadratzahlen zu berechnen:
def square(x):
return x** 2
sq5 = square(5)
print(f'{sq5}')
Die Funktion square()
besteht nur aus einer einzigen Zeile, die eigentlich gar keine Methode benötigt. Hier kommt jetzt lambda ins Spiel. Mit ihr definierst du eine anonyme Funktion, d.h. sie besitzt keinen eigenen Namen. Dies sieht dann in etwa so aus:
square = lambda x: x** 2
print(f'{square(5)}')
Das lambda Konstrukt besagt eigentlich nur, das für einen übergebenen Parameter x
, das Ergebnis von x** 2
zurückgegeben wird. Dies mit der mathematischen Aussage x→x² besser zu verstehen (ich lese das gerne wie: x wird abgebildet auf x Quadrat)
Du musst hier unbedingt beachten, dass square
nicht das Ergebnis der Berechnung enthält sondern ein Zeiger auf die lambda
Funktion ist. Daher wird die Berechnung durch den Aufruf square(5)
durchgeführt.
Fazit
In bestimmten Situationen ersparen lambdas etwas Zeit. Sie sind manchmal aber auch nicht einfach zu durchschauen. Im nächsten Teil machen wir davon Gebrauch.
Die Beispiele sind im Repository abgelegt.