Sobes.tech
Назад к вопросам
Junior — Middle
83

Чем отличается обычная функция от генератора в программировании?

Компании, где спрашивали
ООО Корпорация ЗНАК

Ответ от нейросети

sobes.tech AI

Обычная функция в Python выполняет код и возвращает результат один раз с помощью оператора return. После этого выполнение функции завершается.

Генератор — это функция, которая использует ключевое слово yield для поэтапной генерации значений. Вместо того, чтобы возвращать все сразу, генератор приостанавливает выполнение и возвращает значение, а при следующем вызове продолжает с того места, где остановился.

Пример:

# Обычная функция
def get_numbers():
    return [1, 2, 3]

# Генератор
def generate_numbers():
    yield 1
    yield 2
    yield 3

for num in generate_numbers():
    print(num)

Генераторы полезны для экономии памяти при работе с большими последовательностями, так как значения создаются по требованию.