Ein Lambda (auch anonyme Funktion oder Lambda-Ausdruck) ist eine Funktion ohne Namen, die direkt an der Stelle definiert wird, wo sie gebraucht wird. Sie eignet sich für kurze, einmalige Logik und ist ein Grundbaustein der funktionalen Programmierung — verfügbar in Python, JavaScript, Java, C#, Kotlin, Rust und vielen weiteren Sprachen.
Syntax im Vergleich
# Python
quadrat = lambda x: x * x
print(quadrat(7)) # 49
# JavaScript (Arrow Function)
const quadrat = x => x * x;
console.log(quadrat(7)); // 49
Im Gegensatz zu einer normalen Funktionsdefinition besitzt ein Lambda keine Namensbindung, keinen return-Block (der Ausdruck ist der Rückgabewert) und ist meist auf einen Ausdruck beschränkt.
Typische Einsatzgebiete
- Als Callback: Kurze Logik direkt an
sort,filter,mapoder Event-Handler übergeben. - Einmalige Verwendung: Eine Hilfsfunktion, die nur an genau einer Stelle gebraucht wird.
- Funktionale Verkettung: Transformationen von Listen/Datenströmen in einer Kette.
- Konfiguration: Vergleichsfunktionen, Schlüssel-Funktionen (
key=in Python,Comparatorin Java).
# Python: Sortieren nach zweitem Element
paare = [(1, "z"), (2, "a"), (3, "m")]
paare.sort(key=lambda p: p[1])
print(paare) # [(2, 'a'), (3, 'm'), (1, 'z')]
Wann Lambda, wann normale Funktion?
- Lambda: für kurze, selbsterklärende Ausdrücke — mehrzeilige Logik gehört nicht hinein.
- Normale Funktion: bei Wiederverwendung, komplexer Logik, Doku-Bedarf oder Rekursion (anonyme Funktionen können sich nicht selbst aufrufen).
Verwandte Grundlagen: Callback, Algorithmus, Python-Befehle.