TGViewer
Python Learning Python Learning @python_per_month · 28.2K subscribers
Post #3539 4.08K
❓ Вопрос на собеседовании

Что такое генераторы Python, как работает метод send() в генераторах, и как его можно использовать для управления их поведением?

Ответ ⬇️
Генераторы в Python — это функции, которые используют yield для возврата значения и приостановки выполнения. Метод send() позволяет отправлять данные обратно в генератор, которые затем могут быть использованы внутри генератора при следующем возобновлении. Это делает генераторы двусторонними, позволяя не только получать значения, но и передавать данные в них.

Пример использования ⚙️
def interactive_generator():
value = yield "Начало" # Возвращаем начальное значение
while value:
value = yield f"Вы отправили: {value}" # Возвращаем обработанное значение

gen = interactive_generator()
print(next(gen)) # "Начало"
print(gen.send("Привет")) # "Вы отправили: Привет"
print(gen.send("Python")) # "Вы отправили: Python"
gen.close() # Завершаем генератор


Python Learning
👩‍💻
  • 👍 7
More from @python_per_month
  1. Sep 14, 2026➡️ Memray — профилирование памяти для Python Memray — это современный инструмент для профи…
  2. Aug 17, 2026Срезы Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовател…
  3. Aug 11, 2026Нейросеть, LLM (большие языковые модели) и ИИ-агент Эти слова в разговорах часто использую…
  4. Jul 23, 2026👩‍💻 Задача по Python Создайте функцию find_longest_substring для поиска самой длинной по…
  5. Jul 13, 2026🔥 Три разных человека. Три разных проекта. Один и тот же подход. — Юра взял «скучную» ниш…
  6. Jul 11, 2026⚙️ enumerate() Когда тебе нужно итерировать по списку с доступом к индексу элемента, испол…
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 →