> Как работает ключевое слово yield в Python (Python)
Уровень: senior · Роль: backend · Язык: Python · Категория: Технические вопросы
Компании: К Технологии, Сбер, ARX
Стек: Python
> Пример ответа
Ключевое слово yield в Python используется для создания генераторов - функций, которые возвращают итератор и могут приостанавливать своё выполнение, сохраняя состояние между вызовами.
Когда функция содержит yield, она перестаёт быть обычной функцией и становится генераторной. При каждом вызове next() или при итерации в цикле for выполнение функции продолжается с места последнего yield, а не с начала. Это позволяет эффективно работать с большими или бесконечными последовательностями данных, не загружая их в память целиком.
Пример:
PYTHONdef count_up_to(n):i = 1while i <= n:yield ii += 1for num in count_up_to(5):print(num) # Выведет: 1 2 3 4 5
В отличие от return, который завершает функцию и возвращает одно значение, yield возвращает значение и приостанавливает функцию. Генераторы также поддерживают методы send(), throw() и close() для двустороннего обмена данными и управления исключениями.
Ключевое преимущество yield - ленивые вычисления: генератор вычисляет следующее значение только по запросу, что экономит память и время при обработке потоков данных.
> Похожие задачи по Python
Что такое множественное наследование и как работает метод разрешения порядка (MRO) в Python
Использовали ли инструменты для асинхронности в Django, например Celery и Redis
В чем разница между git rebase и merge
Что такое абстрактный класс в Python
> Похожие задачи по backend
Что такое множественное наследование и как работает метод разрешения порядка (MRO) в Python
Использовали ли инструменты для асинхронности в Django, например Celery и Redis
В чем разница между git rebase и merge
Что такое абстрактный класс в Python
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью