Sobes.tech
Back to questions
Junior — Middle
82

Можете объяснить, что представляет собой генератор в языке Python и как его использовать?

Answer from AI

sobes.tech AI

Генератор в Python — это функция, которая возвращает итератор и позволяет последовательно выдавать значения с помощью ключевого слова 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

Здесь yield приостанавливает выполнение функции, возвращая текущее значение, и возобновляет при следующем вызове.