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-DivesModulo 2 · Componenti interni e prestazioni di CPythonfunctools.singledispatch — tipo-dispatchpredict20 / 161
+100 XP
Compito
📝 **Domanda:** Prevedere l'output esatto. \`render\` ha gestori registrati per \`int\`, \`str\`, \`list\`. Due delle cinque chiamate hanno una svolta: (1) \`render(True)\` — \`bool\` non ha un gestore, ma viene inviato a uno? (2) \`render(3.14)\` — \`float\` non ha alcun gestore. 📋 Scegli la risposta giusta. 💡 **Suggerimento:** Rileggi la teoria sopra se non sei sicuro.
Predici output

Leggi il codice attentamente

from functools import singledispatch


@singledispatch
def render(x):
    return "object:default"


@render.register
def _(x: int):
    return f"int:{x}"


@render.register
def _(x: str):
    return f"str:{x}"


@render.register
def _(x: list):
    return f"list[{len(x)}]"


print(render(42))
print(render("hi"))
print(render([1, 2, 3]))
print(render(True))
print(render(3.14))

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…