Перейти до основного вмісту
🔒 Режим прев'ю. Перші 15 уроків Foundations — безкоштовні; цей — Pro. Запусти 7-денний trial щоб відкрити редактор, AI-підказки і решту курсу. Потрібна картка, скасування в Dashboard у будь-який момент.Почати 7-денний trial →
← КурсиSenior Deep-DivesМодуль 5 · Огляд архітектури та коду__slots__ глибоке зануренняpredict69 / 161
+100 XP
Завдання
📝 **Питання:** Спрогнозуйте точний результат. \`Compact\` використовує \`__slots__ = ("x", "y")\` — ні \`__dict__\`. \`Hybrid(Compact)\` додає \`__slots__ = ("__dict__",)\` — явно повторно вмикає dict для кожного екземпляра в підкласі. Три запитання: (1) Чи може \`c.z = 99\` досягти успіху? (2) Чи може \`h.z = 99\` бути успішним? (3) Чи кожен екземпляр має \`__dict__\`? 📋 Виберіть правильну відповідь. 💡 **Підказка:** Перечитайте наведену вище теорію, якщо не впевнені.
Передбач вивід

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

class Compact:
    __slots__ = ("x", "y")


class Hybrid(Compact):
    __slots__ = ("__dict__",)


c = Compact()
c.x = 1
c.y = 2
try:
    c.z = 99
    print("compact:z_ok")
except AttributeError:
    print("compact:no_z")

h = Hybrid()
h.x = 1
h.y = 2
h.z = 99
print(f"hybrid:{h.x},{h.y},{h.z}")
print(hasattr(c, "__dict__"))
print(hasattr(h, "__dict__"))

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

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

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