A Byte of Python

Der lambda-Operator

Eine lambda-Anweisung wird verwendet, wenn man neue Funktions-Objekte erzeugen und zur Laufzeit zurückgeben möchte.

Gebrauch des lambda-Operators

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)
				
				

Ausgabe

				
$ python lambda.py
wortwort
10
				
				

So funktioniert es

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.