Как работает yield from?

Middle
157 просмотров
AFK Offer AI

yield from iterable — делегирует генератор другому итерируемому объекту. Вместо for item in iterable: yield item пишешь yield from iterable. Но это не просто синтаксический сахар — yield from пробрасывает send(), throw() и close() во вложенный генератор. Это критично для корутин и вложенных генераторов. Также возвращает значение из return вложенного генератора: result = yield from sub_gen(). Появился в Python 3.3.

Следующий вопрос

Что такое __post_init__ в dataclass?