Python-Entwurfsmuster - Iterator

Das Iterator-Entwurfsmuster fällt unter die Kategorie Verhaltensentwurfsmuster. Entwickler stoßen in fast jeder Programmiersprache auf das Iteratormuster. Dieses Muster wird so verwendet, dass es hilft, sequentiell auf die Elemente einer Sammlung (Klasse) zuzugreifen, ohne das zugrunde liegende Layer-Design zu verstehen.

Wie implementiere ich das Iteratormuster?

Wir werden nun sehen, wie das Iteratormuster implementiert wird.

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

Ausgabe

Das obige Programm erzeugt die folgende Ausgabe -

Wenn Sie sich auf das Muster konzentrieren, wird die Fibonacci-Serie mit dem Iteratormuster gedruckt. Bei gewaltsamer Beendigung des Benutzers wird die folgende Ausgabe gedruckt:

Erläuterung

Dieser Python-Code folgt dem Iteratormuster. Hier werden die Inkrementoperatoren verwendet, um die Zählung zu starten. Die Zählung endet mit einer erzwungenen Beendigung durch den Benutzer.