TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.93K subscribers
Post #4897 161
Python: задачки и вопросы
Развёрнутое пояснение:

1. defaultdict(int) создаёт словарь, в котором фабрика int возвращает 0 для отсутствующего ключа.

2. Выражение errors['api'] += 1 сначала получает значение 0, увеличивает его и сохраняет 1 для ключа 'api'.

3. Обращение errors['db'] не вызывает KeyError: defaultdict вызывает int без аргументов, получает 0 и добавляет пару 'db': 0.

4. Первый print выводит 0, а второй — обычное представление словаря с ключами в порядке их добавления: {'api': 1, 'db': 0}.

Почему это важно

Задача относится к поведению defaultdict при чтении отсутствующих ключей. В счётчиках метрик простая проверка значения может незаметно изменить словарь, создать лишние записи и повлиять на последующую сериализацию или обход данных.
  • ✍ 1
More from @quiz_python
  1. Sep 25, 2026Post #4896
  2. Sep 25, 2026Развёрнутое пояснение: 1. Создаётся контекстная переменная request_id без значения по умол…
  3. Sep 25, 2026Post #4894
  4. Sep 24, 2026Развёрнутое пояснение: 1. Для класса Client строится порядок разрешения методов: Client, A…
  5. Sep 24, 2026Post #4892
  6. Sep 24, 2026Развёрнутое пояснение: 1. asyncio.run запускает цикл событий и начинает выполнять main. 2.…
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 →