TGViewer
Библиотека собеса по Python | вопросы с собеседований Библиотека собеса по Python | вопросы с собеседований @py_interview_lib · 5.89K subscribers
Post #1434 105
Почему defaultdict.get не создаёт значение?

Что выведет этот код и при каком обращении появится ключ? Проверено на CPython 3.12.14 и 3.13.1.

from collections import defaultdict
counts = defaultdict(int)
print(counts.get("api"))
print(dict(counts))
print(counts["api"])
print(dict(counts))


Результат: None, затем пустой словарь, затем 0 и словарь {'api': 0}. Метод get не вызывает __missing__ и не обращается к фабрике int. Доступ через квадратные скобки вызывает __getitem__, а при отсутствии ключа — __missing__. Фабрика создаёт 0, значение записывается в словарь.

Документация

Библиотека собеса по Python
More from @py_interview_lib
  1. Oct 13, 2026👁👁 Тестовый собес на Python с разработчиком из Яндекса [+ ответы на 50 сложных вопросов…
  2. Sep 15, 2026Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабиль…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Aug 5, 2026У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагр…
  5. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  6. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →