Restituite da una funzione
Lezione 4 di 9 del corso Funzioni lambda in Python di Coddy.
Un altro caso d'uso interessante delle funzioni lambda è restituirle da una funzione.
Per esempio,
def power_of(a):
return lambda b : b ** a
cube = power_of(3) # contiene lambda b : b ** 3
square = power_of(2) # contiene lambda b : b ** 2
square_root = power_of(0.5) # contiene lambda b : b ** 0.5
print(cube(4)) # stampa 64
print(square(4)) # stampa 16
print(square_root(4)) # stampa 2Come vedi, è un modo per generare più funzioni piccole.
È anche possibile creare una lambda che restituisce una lambda (quando è una singola espressione),
power_of = lambda a : lambda b : b ** a
print(power_of(2)(5)) # stampa 25 = 5 ** 2Sfida
FacileCrea una funzione chiamata message_constructor che riceve due stringhe: il nome e il cognome. Il cognome può essere None.
La funzione costruirà un nome a partire dai due argomenti, alle seguenti condizioni:
- Se esiste solo il nome, il nome sarà uguale al nome
- Se esistono entrambi gli argomenti, la funzione li unirà con uno spazio in mezzo.
La funzione restituirà una funzione lambda che riceverà un argomento e restituirà una stringa.
Esamina i casi di test per capire il formato richiesto dalla lambda.
Provalo tu
def message_constructor(first, last):
# Scrivi il codice quiTutte le lezioni di Funzioni lambda in Python
Esercitati da solo: Compilatore Python online