Python Design Patterns - Iterator

O padrão de design do iterador se enquadra na categoria de padrões de design comportamental. Os desenvolvedores encontram o padrão iterador em quase todas as linguagens de programação. Esse padrão é usado de forma que ajuda a acessar os elementos de uma coleção (classe) de maneira sequencial, sem compreender o design da camada subjacente.

Como implementar o padrão iterador?

Veremos agora como implementar o padrão iterador.

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")

Resultado

O programa acima gera a seguinte saída -

Se você focar no padrão, a série Fibonacci será impressa com o padrão iterador. No encerramento forçado do usuário, a seguinte saída é impressa -

Explicação

Este código python segue o padrão do iterador. Aqui, os operadores de incremento são usados ​​para iniciar a contagem. A contagem termina com o encerramento forçado do usuário.