Python Design Patterns - Iteratore

Il modello di progettazione dell'iteratore rientra nella categoria dei modelli di progettazione comportamentale. Gli sviluppatori si imbattono nel modello iteratore in quasi tutti i linguaggi di programmazione. Questo modello è utilizzato in modo tale da aiutare ad accedere agli elementi di una raccolta (classe) in modo sequenziale senza comprendere il design del livello sottostante.

Come implementare il pattern iteratore?

Vedremo ora come implementare il pattern iteratore.

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

Produzione

Il programma di cui sopra genera il seguente output:

Se ti concentri sul pattern, la serie di Fibonacci viene stampata con il pattern iteratore. Alla chiusura forzata dell'utente, viene stampato il seguente output:

Spiegazione

Questo codice Python segue il modello iteratore. Qui, gli operatori di incremento vengono utilizzati per avviare il conteggio. Il conteggio termina con la risoluzione forzata da parte dell'utente.