Přejít k hlavnímu obsahu
🔒 Režim náhledu. Prvních patnáct lekcí Foundations je zdarma; tato je Pro. Spusťte 7denní trial pro odemčení editoru, AI nápověd a zbytku kurzu. Karta vyžadována, zrušte kdykoli v Dashboard.Spustit 7denní trial →
← KurzySenior Deep-DivesModul 2 · Interní prvky a výkon CPythonuOptimalizace slotů do hloubkypredict18 / 161
+100 XP
Úkol
📝 **Otázka:** Předpovězte přesný výkon. \`Point\` deklaruje \`__slots__ = ("x", "y")\`. \`Tagged\` podtřídy \`Point\`, ale NEdeklaruje své vlastní \`__slots__\`. Tři otázky: (1) Má instance \`Point\` \`__dict__\`? (2) Má instance \`Tagged\` nějakou? (3) Můžete nastavit \`p.z = 99\` a \`t.z = 99\`? 📋 Vyberte správnou odpověď. 💡 **Tip:** Pokud si nejste jisti, přečtěte si znovu teorii výše.
Předpověz výstup

Přečti kód pozorně

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

Co program vypíše? Napiš sem:

💬 Diskuze

Buď první — polož otázku nebo se podělej o tip.
Přihlas se abys se zapojil do diskuze. Čtení je zdarma.
Načítání diskuze…