Sari la conținutul principal
🔒 Mod previzualizare. Primele cincisprezece lecții Foundations sunt gratuite; aceasta este Pro. Pornește un trial de 7 zile pentru a debloca editorul, sugestiile AI și restul programului. Card necesar, anulează oricând în Dashboard.Pornește trial de 7 zile →
← CursuriSenior Deep-DivesModule 7 · Memory, GC, modern typing`__slots__` — when you're paying for `__dict__` you don't usepredict119 / 161
+150 XP
Sarcină
📝 **Sarcina:** Preziceți rezultatul exact. Clasa Regular are `__dict__`; clasa Slotted nu. Setarea unui nou atribut este permisă pe Regular și crește pe Slotted. 📋 Implementați funcția de mai sus. Testele rulează automat. 💡 **Sugestie:** Recitiți teoria dacă rămâneți blocat.
Prezice ieșirea

Citește codul cu atenție

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

Ce va afișa programul? Scrie aici:

💬 Discuție

Fii primul — pune o întrebare sau împărtășește un sfat.
Conectează-te pentru a te alătura discuției. Citirea este gratuită.
Se încarcă discuția…