На этом шаге мы определимся с дальнейшим изложением.
В предыдуших шагах, посвященных итераторам, мы потратили довольно много времени на написание итератора на основе класса. Это было неплохой идеей с точки зрения обучения, но итератор на основе класса также продемонстрировал, что написание класса итератора требует большого объема шаблонного кода. И если говорить по правде, то "ленивому" разработчику не нравится утомительная и однообразная работа.
И все же итераторы очень полезны в Python. Они позволяют писать симпатичные циклы for ... in и помогают делать код более питоновским и эффективным... если бы только не существовало более удобного способа писать эти итераторы изначально.
Сюрприз! Вот же он! В который раз Python нас выручает, предлагая еще немного синтаксического сахара, чтобы облегчить написание итераторов. Далле вы увидите, как писать итераторы быстрее и с меньшим объемом кода, используя генераторы и ключевое слово yield.
На следующем шаге мы рассмотрим бесконечные генераторы.