Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzySenior Deep-DivesModule 7 · Memory, GC, modern typingfunctools.singledispatch — type-dispatched generic functionspredict121 / 161
+150 XP
Úkol
📝 **Úkol:** Předpovězte přesný výstup. Funkce `describe` odešle typ svého prvního argumentu. Pozorně sledujte poslední volání — `True` je `bool`, který dědí z `int`. Není registrován žádný obslužný program `bool`, takže procházka MRO směruje volání na obslužnou rutinu `int`. 📋 Implementujte výše uvedenou funkci. Testy probíhají automaticky. 💡 **Tip:** Pokud se zaseknete, přečtěte si znovu teorii.
Předpověz výstup

Přečti kód pozorně

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))

Co program vypíše? Napiš sem:

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…