Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSenior Deep-DivesModule 7 · Memory, GC, modern typingfunctools.singledispatch — type-dispatched generic functionspredict121 / 161
+150 XP
Opdracht
📝 **Taak:** Voorspel de exacte uitvoer. De functie `beschrijven` verzendt op basis van het type van zijn eerste arg. Let goed op de laatste oproep — `True` is een `bool`, die overerft van `int`. Er is geen `bool`-handler geregistreerd, dus de MRO-wandeling routeert de oproep naar de `int`-handler. 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

from functools import singledispatch


@singledispatch
def describe(value: object) -> str:
    return f"unknown: {value!r}"


@describe.register
def _(value: int) -> str:
    return f"int: {value}"


@describe.register
def _(value: list) -> str:
    return f"list of {len(value)}"


@describe.register
def _(value: dict) -> str:
    return f"dict with keys {sorted(value)}"


print(describe(42))
print(describe([1, 2, 3]))
print(describe({"b": 2, "a": 1}))
print(describe(3.14))
print(describe(True))

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…