Python генераторы

Опубликовано 2021.08.25 в разделе Python.

Генератор - это обыкновенная функция python. Главное отличие - это то, что данные она возвращает не командой return, а командой yield.

Эта команда и будет генерировать последовательность значений.

И если вызвать такую функцию - она не вернёт объект генератора, не значение. Затем из данного объекта посредством функции next или цикла for удастся получить значения, которые должна была вернуть функция.

Когда генератор вернёт все данные - будет брошен эксепшн типа StopIteration. По сути - генератор это тот же итератор, просто выглядит по-другому.