Перейти до основного вмісту
🔒 Режим прев'ю. Перші 15 уроків Foundations — безкоштовні; цей — Pro. Запусти 7-денний trial щоб відкрити редактор, AI-підказки і решту курсу. Потрібна картка, скасування в Dashboard у будь-який момент.Почати 7-денний trial →
← КурсиSenior Deep-DivesМодуль 2 · Внутрішні елементи та продуктивність CPythonfunctools.singledispatch — тип-відправкаpredict20 / 161
+100 XP
Завдання
📝 **Питання:** Спрогнозуйте точний результат. \`render\` має зареєстровані обробники для \`int\`, \`str\`, \`list\`. Два з п’яти викликів мають поворот: (1) \`render(True)\` — \`bool\` не має обробника, але чи надсилається він одному? (2) \`render(3.14)\` — \`float\` взагалі не має обробника. 📋 Виберіть правильну відповідь. 💡 **Підказка:** Перечитайте наведену вище теорію, якщо не впевнені.
Передбач вивід

Прочитай код уважно

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

Що виведе програма? Напиши тут:

💬 Обговорення

Будьте першим — поставте запитання або поділіться порадою.
Увійдіть щоб приєднатися до обговорення. Читання безкоштовне.
Завантаження обговорення…