Встречается на собеседованиях • сегодня

Пользовался ли yield from в Python

yield from — это синтаксический сахар для делегирования генераторов в Python 3.3+. Он упрощает работу с вложенными генераторами, автоматически обрабатывая итерацию и передачу значений.

Пример:

python
def generator1():
    yield from range(3)

def generator2():
yield from generator1()
yield from ['a', 'b']

for item in generator2():
print(item) # 0, 1, 2, 'a', 'b'

text

**Преимущества:**  
- Читаемость: заменяет ручной `for` для перебора вложенного генератора.  
- Поддержка `send()`, `throw()`: корректно пробрасывает их во вложенный генератор.  

**Аналог без `yield from`:**  
```python
def generator2_manual():
    for i in generator1():
        yield i
    for char in ['a', 'b']:
        yield char

Используется в цепочках генераторов, асинхронном коде (с async def) и для упрощения сложных итерационных логик.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы