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

1. Создаём defaults = {'theme': 'light'}.

2. Создаём пустой user = {}.

3. ChainMap(user, defaults) формирует цепочку поиска: сначала user, затем defaults.

4. Чтение config['theme'] не находит ключ в user и возвращает 'light' из defaults.

5. Запись config['theme'] = 'dark' всегда изменяет первый словарь цепочки, то есть user.

6. В user появляется {'theme': 'dark'}, а defaults остаётся {'theme': 'light'}.

7. print(defaults['theme']) выводит 'light'.

Почему это важно: ChainMap удобен для многоуровневых настроек — базовые значения, пользовательские, аргументы командной строки. Важно помнить, что присваивание пишет только в первый словарь, иначе можно случайно изменить общие дефолты или, наоборот, удивиться, почему изменение не дошло до последующих читателей конфига.
  • ✍ 3
More from @quiz_python
  1. Sep 14, 2026А вы уже забрали свой подарок ко Дню программиста? Мы в Tproger вместе с нашими друзьями с…
  2. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся список batch с двумя разными словарями. 2. Вызов enric…
  3. Aug 30, 2026Post #4875
  4. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся внутренний список ['', '', ''] — три пустые строки. 2.…
  5. Aug 30, 2026Post #4873
  6. Aug 29, 2026Развёрнутое пояснение: 1. Декоратор dataclass(frozen=True) генерирует для Client методы __…
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 →