Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSenior Deep-DivesModule 7 · Memory, GC, modern typing`__slots__` — when you're paying for `__dict__` you don't usepredict119 / 161
+150 XP
Opdracht
📝 **Taak:** Voorspel de exacte uitvoer. De klasse Regular heeft `__dict__`; de klasse Slotted niet. Het instellen van een nieuw attribuut is toegestaan ​​op Regular en raises op Slotted. 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

class Regular:
    def __init__(self, x, y):
        self.x = x
        self.y = y


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

    def __init__(self, x, y):
        self.x = x
        self.y = y


r = Regular(1, 2)
s = Slotted(3, 4)

print(r.x, r.y)
print(s.x, s.y)
print(hasattr(r, "__dict__"))
print(hasattr(s, "__dict__"))

r.extra = "ok"
print(r.extra)

try:
    s.extra = "no"
except AttributeError:
    print("rejected")

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…