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

1. Определяются две функции-генератора: inner и outer.

2. При вызове list(outer()) создаётся генератор outer.

3. Первый yield 1 в outer приостанавливает выполнение и возвращает значение 1.

4. Затем выполняется выражение v = yield from inner().

5. yield from делегирует управление генератору inner, поэтому следующим возвращается его yield 2.

6. Когда inner завершается оператором return 'done', это значение становится результатом выражения yield from.

7. Переменная v получает строку 'done'.

8. Последний yield v возвращает 'done'.

9. Генератор outer завершается, и list собирает все полученные значения: 1, 2 и 'done'.

10. print выводит [1, 2, 'done'].

Почему это важно: механика yield from используется при построении ленивых пайплайнов обработки данных, рекурсивных обходов деревьев и корутин. Понимание того, что return подгенератора становится возвращаемым значением yield from, помогает правильно комбинировать генераторы и передавать результаты между этапами пайплайна без промежуточных коллекций.
  • ✍ 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 →