Middle
22
Что такое генераторы в Python и зачем они нужны?
Companies where asked
Answer from AI
sobes.tech AI
Генераторы в Python — это специальные функции, которые позволяют итерироваться по последовательности значений, не создавая всю последовательность сразу в памяти. Вместо return они используют ключевое слово yield, которое возвращает значение и приостанавливает выполнение функции, сохраняя её состояние для следующего вызова.
Зачем нужны генераторы:
- Экономия памяти: не нужно хранить всю коллекцию данных, особенно если она большая или бесконечная.
- Ленивые вычисления: значения вычисляются по мере необходимости.
- Удобство работы с потоками данных или большими файлами.
Пример генератора, который выдаёт числа от 0 до n-1:
def count_up_to(n):
i = 0
while i < n:
yield i
i += 1
for number in count_up_to(5):
print(number)
Вывод:
0
1
2
3
4