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

Зачем генератору метод send

Метод send у генераторов позволяет передавать значения внутрь генератора во время его выполнения. Это делает генераторы двусторонними: они могут не только выдавать значения (через yield), но и принимать их.

Пример:

python
def gen():
    while True:
        x = yield
        print(f"Received: {x}")

g = gen()
next(g)  # инициализация генератора
g.send(42)  # Выведет: Received: 42

Ключевые моменты:

  1. send передаёт значение в генератор, которое становится результатом текущего yield
  2. Перед первым send нужно вызвать next() для инициализации генератора
  3. Полезно для кооперативной многозадачности, когда нужно управлять генератором извне

Этот механизм используется в asyncio и других асинхронных фреймворках.

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

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

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

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