Preskoči na glavni sadržaj
🔒 Način pregleda. Prvih petnaest Foundations lekcija je besplatno; ova je Pro. Pokrenite 7-dnevni trial da otključate editor, AI savjete i ostatak programa. Kartica obavezna, otkažite bilo kada u Dashboard.Pokreni 7-dnevni trial →
← KolegijiSenior Deep-DivesModule 7 · Memory, GC, modern typing`__slots__` — when you're paying for `__dict__` you don't usepredict119 / 161
+150 XP
Zadatak
📝 **Zadatak:** Predvidite točan rezultat. Obična klasa ima `__dict__`; klasa Slotted ne. Postavljanje novog atributa dopušteno je na Regular i podizanja na Slotted. 📋 Implementirajte gornju funkciju. Testovi se pokreću automatski. 💡 **Savjet:** Ponovno pročitajte teoriju ako zapnete.
Predvidi izlaz

Pažljivo pročitaj kod

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

Što će program ispisati? Napiši ovdje:

💬 Rasprava

Budi prvi — postavi pitanje ili podijeli savjet.
Prijavi se kako bi se pridružio raspravi. Čitanje je besplatno.
Učitavanje rasprave…