Учебники

Шаблоны проектирования Python — итератор

Шаблон проектирования итератора подпадает под категорию поведенческих шаблонов проектирования. Разработчики сталкиваются с шаблоном итератора практически на каждом языке программирования. Этот шаблон используется таким образом, что он помогает получить последовательный доступ к элементам коллекции (класса) без понимания структуры нижележащего уровня.

Как реализовать шаблон итератора?

Теперь мы увидим, как реализовать шаблон итератора.

import time

def fib():
   a, b = 0, 1
   while True:
      yield b
      a, b = b, a + b

g = fib()

try:
   for e in g:
      print(e)
      time.sleep(1)

except KeyboardInterrupt:
   print("Calculation stopped")

Выход

Вышеуказанная программа генерирует следующий вывод —

Итератор

Если вы сосредоточитесь на шаблоне, ряд Фибоначчи будет напечатан с шаблоном итератора. При принудительном прекращении действия пользователя выводится следующий вывод:

Серия Фибоначчи

объяснение

Этот код Python следует шаблону итератора. Здесь операторы приращения используются для начала подсчета. Счет заканчивается после принудительного завершения пользователем.