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

1. make_handlers создаёт пустой список handlers.

2. Цикл дважды присваивает переменной status значения 'new' и 'done'.

3. На каждой итерации создаётся lambda, но текущее значение status внутрь неё не копируется.

4. После цикла обе функции обращаются к одной переменной status, сохранившей последнее значение 'done'.

5. Последовательный вызов обработчиков поэтому возвращает список ['done', 'done'].

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

Задача относится к позднему связыванию имён в замыканиях. Такая ситуация встречается при создании обработчиков событий и отложенных задач в цикле: без отдельной фиксации значения все обработчики могут работать с последним элементом.
  • ✍ 1
More from @quiz_python
  1. Sep 21, 2026Post #4880
  2. Sep 21, 2026Развёрнутое пояснение: 1. Вызывается persist_order, и блок try печатает строку write. 2. И…
  3. Sep 21, 2026Post #4878
  4. Sep 14, 2026А вы уже забрали свой подарок ко Дню программиста? Мы в Tproger вместе с нашими друзьями с…
  5. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся список batch с двумя разными словарями. 2. Вызов enric…
  6. Aug 30, 2026Post #4875
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 →