Eine lambda
-Anweisung wird verwendet, wenn man neue
Funktions-Objekte erzeugen und zur Laufzeit zurückgeben möchte.
Beispiel 15.2. Gebrauch des lambda-Operators (lambda.py)
#!/usr/bin/python def erzeuge_wiederholer(n): return lambda s: s * n verdoppler = erzeuge_wiederholer(2) print verdoppler('wort') print verdoppler(5)
Wir benutzen hier eine Funktion erzeuge_wiederholer
, um
ein neues Funktions-Objekt zur Laufzeit zu erzeugen und es zurückzugeben. Um dieses
Funktions-Objekt zu erzeugen, wird eine lambda
-Anweisung
verwendet. Der lambda
-Operator nimmt dabei einen Parameter
entgegen, gefolgt von einem einzelnen Ausdruck, der dann zum Rumpf der Funktion
wird und von der neuen Funktion ausgewertet und zurückgegeben wird. Beachten Sie,
dass innerhalb eines lambda
-Operators keine Anweisung verwendet
werden darf, nicht einmal eine print
-Anweisung, sondern dass hier
nur Ausdrücke erlaubt sind.