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 typingWeakValueDictionary — caches that let GC do its jobpredict118 / 161
+150 XP
Zadatak
📝 **Zadatak:** Predvidite točan rezultat. Nakon `del d` nestala je jedina jaka referenca na Doc; `gc.collect()` ga vraća, a utor WeakValueDictionary nestaje. 📋 Implementirajte gornju funkciju. Testovi se pokreću automatski. 💡 **Savjet:** Ponovno pročitajte teoriju ako zapnete.
Predvidi izlaz

Pažljivo pročitaj kod

import weakref
import gc


class Doc:
    def __init__(self, name):
        self.name = name


cache: weakref.WeakValueDictionary = weakref.WeakValueDictionary()
d = Doc("alpha")
cache["alpha"] = d

print("alpha" in cache)
print(cache["alpha"].name)
print(len(cache))

del d
gc.collect()

print("alpha" in cache)
print(len(cache))

Š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…