Instant-Anonyme-Funktion
kann nur ein Statement enthalten
das Ergebnis des Statements ist das Ergebnis der Funktion (es gibt kein explizites return)
die Definition erzeugt nur die Funktion, es führt sie nicht aus
braucht man wenn eine Funktion als Parameter eine Funktion erwartet (sorted zum Beispiel) um dynamisch Werte zu generieren
personen_eintrag = {"vorname":"Peter", "nachname":"Fischer", "alter":23}
a=lambda person: person["vorname"]
print(a(personen_daten))
Obiges Beispiel gibt „Peter“ aus.
a bekommt die anonyme Funktion übergeben (als Funktion), die Funktion hat einen Parameter → person.
Die Funktion greift beim Parameter person auf das Feld „vorname“ zurück → das Statement ist gleichzeitig der Rückgabewert der Funktion, ohne return-Anweisung → da es eh nur ein Statement geben darf
Ruft man a auf (Zeile 3) und übergibt ein dictionary bekommt man über die anonyme Funktion das Feld „vorname“ der Variable zurück die man übergeben hat.