A Byte of Python

Lambda

La sentència lambda permet crear noves funcions i retornar-les en temps d'execució.

Ús de lambda

Example 15.2. Ús de lambda

				
#!/usr/bin/python
# Filename: lambda.py

def make_repeater(n):
	return lambda s: s * n

twice = make_repeater(2)

print twice('word')
print twice(5)
				
				

Sortida

				
$ python lambda.py
wordword
10
				
				

Com funciona

El programa fa servir la funció make_repeater per a crear una nova funció en temps d'execució, mitjançant la sentència lambda. En essència, lambda obté un paràmetre seguit d'una expressió que passa a ser el cos de la funció. El valor de l'expressió és retornat per la nova funció. Tinguem present que no es pot fer servir com a part de l'expressió ni tant sols la sentència print. Només s'accepta expressions.