Перейти до основного вмісту
🔒 Режим прев'ю. Перші 15 уроків Foundations — безкоштовні; цей — Pro. Запусти 7-денний trial щоб відкрити редактор, AI-підказки і решту курсу. Потрібна картка, скасування в Dashboard у будь-який момент.Почати 7-денний trial →
← КурсиSenior Deep-DivesModule 7 · Memory, GC, modern typingWeakValueDictionary — caches that let GC do its jobpredict118 / 161
+150 XP
Завдання
📝 **Завдання:** Передбачте точний результат. Після `del d` єдине вагоме посилання на Doc зникло; `gc.collect()` повертає його, і слот WeakValueDictionary зникає. 📋 Реалізуйте наведену вище функцію. Тести запускаються автоматично. 💡 **Підказка:** Перечитайте теорію, якщо ви застрягли.
Передбач вивід

Прочитай код уважно

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

Що виведе програма? Напиши тут:

💬 Обговорення

Будьте першим — поставте запитання або поділіться порадою.
Увійдіть щоб приєднатися до обговорення. Читання безкоштовне.
Завантаження обговорення…