
Генераторы
Обычные функции возвращают только одно-единственное значение (или ничего).
Генераторы могут порождать (
Генераторы отлично работают с перебираемыми объектами и позволяют легко создавать потоки данных.
Для объявления генератора используется специальная синтаксическая конструкция:
При вызове функции-генератор возвращается специальный объект, так называемый «генератор», для управления её выполнением.
Основным методом генератора является
По достижении yield выполнение функции приостанавливается, а соответствующее значение – возвращается во внешний код.
#генераторы #итерация
Обычные функции возвращают только одно-единственное значение (или ничего).
Генераторы могут порождать (
yield
) множество значений одно за другим, по мере необходимости. Генераторы отлично работают с перебираемыми объектами и позволяют легко создавать потоки данных.
Для объявления генератора используется специальная синтаксическая конструкция:
function*
, которая называется «функция-генератор».При вызове функции-генератор возвращается специальный объект, так называемый «генератор», для управления её выполнением.
Основным методом генератора является
next()
. При вызове он запускает выполнение кода до ближайшей инструкции yield <значение>. По достижении yield выполнение функции приостанавливается, а соответствующее значение – возвращается во внешний код.
#генераторы #итерация