Към основното съдържание
🔒 Режим за преглед. Първите петнадесет урока на 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}")

Какво ще изведе програмата? Напиши тук:

💬 Дискусия

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