Menu
Coddy logo textTech

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 2

Come 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 ** 2
challenge icon

Sfida

Facile

Crea 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 qui

Tutte le lezioni di Funzioni lambda in Python

1Funzioni lambda

IntroduzioneSintassiCon argomentiRestituite da una funzione

2Con le funzioni integrate

filtermap

Esercitati da solo: Compilatore Python online