Что такое генератор?

Этот вопрос проверяет понимание механизма генераторов в Python, которые используются для ленивого создания последовательностей данных.

Короткий ответ

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

Длинный ответ

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


Пример генератора:

def my_generator():
    yield 1
    yield 2
    yield 3

gen = my_generator()
for value in gen:
    print(value)
# Вывод:
# 1
# 2
# 3

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    3

Навыки

  • Python

Ключевые слова

Подпишись на Python Developer в телеграм