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

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

class Point:
    __slots__ = ("x", "y")
    def __init__(self, x, y):
        self.x = x
        self.y = y


class Tagged(Point):
    pass


p = Point(1, 2)
t = Tagged(3, 4)

print(f"p:{p.x},{p.y}")
print(f"t:{t.x},{t.y}")
print(hasattr(p, "__dict__"))
print(hasattr(t, "__dict__"))

try:
    p.z = 99
    print(f"p.z={p.z}")
except AttributeError:
    print("p:no_z")

t.z = 99
print(f"t.z={t.z}")

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

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

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