Back to questions
Золотое Яблоко
Ростелеком
Junior — Middle
88
Объясните принцип работы генераторов в Python и их основные преимущества
Companies where asked
ITFB Group
Цифрум
Answer from AI
sobes.tech AI
Генераторы в Python — это специальные функции, которые возвращают итератор и позволяют последовательно выдавать значения по одному, при этом сохраняя своё состояние между вызовами.
Основной принцип работы:
- Вместо обычного
returnиспользуетсяyield, который возвращает значение и приостанавливает выполнение функции. - При следующем вызове генератора выполнение продолжается с места после
yield.
Преимущества генераторов:
- Экономия памяти — не нужно хранить весь набор данных в памяти, значения генерируются по мере необходимости.
- Удобство работы с большими или бесконечными последовательностями.
- Чистый и понятный код для итераций.
Пример генератора:
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
for number in count_up_to(5):
print(number)
Этот код выведет числа от 1 до 5, генерируя их по одному.