Перейти к основному содержимому
🔒 Режим превью. Первые 15 уроков Foundations — бесплатные; этот — Pro. Запусти 7-дневный trial чтобы открыть редактор, AI-подсказки и остальной курс. Нужна карта, отмена в Dashboard в любой момент.Начать 7-дневный trial →
← КурсыSenior Deep-DivesМодуль 2 · Внутреннее устройство и производительность CPythonГлубокая оптимизация слотовpredict18 / 161
+100 XP
Задание
📝 **Вопрос:** Предскажите точный результат. \`Точка\` объявляет \`__slots__ = ("x", "y")\`. \`Tagged\` является подклассом \`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}")

Что выведет программа? Напиши здесь:

💬 Обсуждение

Будьте первым — задайте вопрос или поделитесь подсказкой.
Войдите чтобы участвовать в обсуждении. Чтение бесплатно.
Загрузка обсуждения…