Vai al contenuto principale
🔒 Modalità anteprima. Le prime quindici lezioni di Foundations sono gratuite; questa è Pro. Avvia un trial di 7 giorni per sbloccare l'editor, i suggerimenti AI e il resto del programma. Carta richiesta, disdici in qualsiasi momento dalla Dashboard.Avvia trial di 7 giorni →
← CorsiSenior Deep-DivesModule 6 · FAANG-2026 deep divesfunctools.partial vs lambda — closure timingpredict113 / 161
+150 XP
Compito
📝 **Compito:** Prevedere l'output esatto. \`mul(a, b, c)\` moltiplica tre numeri. \`double = partial(mul, 2)\` blocca \`a=2\`. \`with_c = partial(mul, c=10)\` blocca \`c=10\` — ma guarda cosa succede quando il chiamante passa ANCHE \`c=99\`. Quindi cinque righe dopo: elenco di lambda vs elenco di parziali nello stesso ciclo. Quale cattura correttamente? 📋 Implementa la funzione sopra. I test vengono eseguiti automaticamente. 💡 **Suggerimento:** Rileggi la teoria se rimani bloccato.
Predici output

Leggi il codice attentamente

from functools import partial


def mul(a, b, c):
    return a * b * c


double = partial(mul, 2)
print(double(3, 4))

with_c = partial(mul, c=10)
print(with_c(2, 3))
print(with_c(2, 3, c=99))


def show(i):
    return i


funcs_lambda = [lambda: i for i in range(3)]
funcs_partial = [partial(show, i) for i in range(3)]

print([f() for f in funcs_lambda])
print([f() for f in funcs_partial])

Cosa stamperà il programma? Scrivi qui:

💬 Discussione

Sii il primo a fare una domanda o condividere un consiglio.
Accedi per partecipare alla discussione. La lettura è gratuita.
Caricamento discussione…