Kursinhalt
Python Fortgeschrittene Konzepte
Python Fortgeschrittene Konzepte
Faule Auswertung
In diesem Kapitel führen wir das Konzept der Lazy Evaluation ein, eine Technik, bei der Daten nur bei Bedarf erzeugt werden, anstatt im Voraus berechnet und gespeichert zu werden. Lazy Evaluation ist ein Schlüsselelement von Iteratoren und besonders nützlich für die Arbeit mit großen Datensätzen oder unendlichen Sequenzen.
Hauptvorteile:
- Speichereffizienz: Es wird jeweils nur ein Element erzeugt;
- Leistungsoptimierung: Die Berechnung erfolgt nur bei Bedarf;
- Unterstützung für unendliche Sequenzen: Sie können mit Sequenzen beliebiger Größe arbeiten, ohne dass der Speicher ausgeht.
Lassen Sie uns einen unendlichen Würfelroller erstellen, der auf Abruf zufällige Würfe generiert. Dies stellt sicher, dass wir niemals alle Würfe im Speicher speichern müssen, egal wie viele Würfe wir ausführen.
import random # Infinite dice roller class InfiniteDiceRoller: def __iter__(self): return self def __next__(self): return random.randint(1, 6) # Using the infinite dice roller dice_roller = InfiniteDiceRoller() for i, roll in enumerate(dice_roller): if i >= 10: # Stop after 10 rolls break print(f"Roll {i + 1}: {roll}")
War alles klar?
Danke für Ihr Feedback!
Abschnitt 6. Kapitel 3