Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:lambda
  • Instant-Anonyme-Funktion
    • eine Funktion die keinen Namen hat
    • eine Funktion die nur einmal genutzt wird
      • an dem Ort wo sie auch definiert wird
  • kann nur ein Statement enthalten
    • keine Expressions
      • also kein if, for usw.
  • 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.

python/lambda.txt · Zuletzt geändert: 2020/03/05 14:10 von root