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

1. Вызов build_batch создаёт генератор, но его тело пока не исполняется.

2. list начинает потреблять этот генератор, и build_batch передаёт управление load_orders через yield from.

3. load_orders выдаёт строку order-1, поэтому она попадает в список, собираемый функцией list.

4. Затем load_orders выполняет return 1: для генератора это завершение со значением 1, а не выдача ещё одного элемента.

5. yield from извлекает это значение завершения и присваивает его переменной loaded.

6. Внутренний print выводит loaded 1, после чего build_batch завершается.

7. list возвращает список из единственного выданного элемента, и внешний print выводит ['order-1'] второй строкой.

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

Задача относится к делегированию генераторов. Значение return вложенного генератора можно использовать как итог обработки, например как число загруженных записей, но оно не становится элементом ленивого потока.
  • ✍ 2
More from @quiz_python
  1. Sep 22, 2026Post #4884
  2. Sep 22, 2026Развёрнутое пояснение: 1. Вызывается load_config, управление переходит в блок try. 2. Перв…
  3. Sep 22, 2026Post #4882
  4. Sep 21, 2026Развёрнутое пояснение: 1. make_handlers создаёт пустой список handlers. 2. Цикл дважды при…
  5. Sep 21, 2026Post #4880
  6. Sep 21, 2026Развёрнутое пояснение: 1. Вызывается persist_order, и блок try печатает строку write. 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 →