Ugrás a fő tartalomra
🔒 Előnézet mód. Az első tizenöt Foundations lecke ingyenes; ez Pro. Indíts 7 napos trial-t, hogy feloldd a szerkesztőt, az AI tippeket és a tananyag többi részét. Kártya szükséges, bármikor lemondhatod a Dashboard-ban.7 napos trial indítása →
← KurzusokSenior Deep-Dives2. modul · CPython belsők és teljesítményfunctools.singledispatch — type-dispatchpredict20 / 161
+100 XP
Feladat
📝 **Kérdés:** Jósolja meg a pontos kimenetet. A \`render\` regisztrált kezelőkkel rendelkezik az \`int\`, \`str\`, \`list\` számára. Az öt hívás közül kettőnek van egy csavarja: (1) \`render(True)\` — a \`bool\`-nak nincs kezelője, de egynek küldik? (2) \`render(3.14)\` — a \`float\`-nak egyáltalán nincs kezelője. 📋 Válassza ki a megfelelő választ. 💡 **Tipp:** Ha nem biztos benne, olvassa el újra a fenti elméletet.
Találd ki a kimenetet

Olvasd el a kódot figyelmesen

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

Mit ír ki a program? Írd ide:

💬 Beszélgetés

Légy az első — tegyél fel kérdést vagy oszd meg egy tippet.
Jelentkezz be hogy csatlakozz a beszélgetéshez. Az olvasás ingyenes.
Beszélgetés betöltése…