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@dataclass(frozen=True) + dataclasses.replace — immutable updatespredict122 / 161
+150 XP
Sarcină
📝 **Sarcina:** Preziceți rezultatul exact. Punctul înghețat nu poate fi mutat direct; `replace` returnează o instanță NOUĂ cu suprascrierile numite; egalitatea este prin valoare, hashingul este în concordanță cu egalitatea. 📋 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

from dataclasses import dataclass, replace, FrozenInstanceError


@dataclass(frozen=True)
class Point:
    x: int
    y: int


p = Point(1, 2)
print(p)

try:
    p.x = 99
except FrozenInstanceError:
    print("frozen")

p2 = replace(p, y=20)
print(p2)
print(p is p2)
print(p == Point(1, 2))
print(hash(p) == hash(Point(1, 2)))

p3 = replace(p, x=100, y=200)
print(p3)

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…