Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Lazy Evaluation in Python: Optimierung von Speicher und Leistung | Iteratoren und Generatoren
Quizzes & Challenges
Quizzes
Challenges
/
Python Fortgeschrittene Konzepte

bookLazy Evaluation in Python: Optimierung von Speicher und Leistung

In diesem Kapitel führen wir das Konzept der Lazy Evaluation ein, eine Technik, bei der Daten nur dann erzeugt werden, wenn sie benötigt werden, anstatt sie im Voraus zu berechnen und zu speichern. Lazy Evaluation ist ein zentrales Merkmal von Iteratoren und besonders nützlich beim Arbeiten mit großen Datensätzen oder unendlichen Sequenzen.

Zentrale Vorteile:

  • Speichereffizienz: Es wird jeweils nur ein Element erzeugt;
  • Leistungsoptimierung: Die Berechnung erfolgt nur bei Bedarf;
  • Unterstützung unendlicher Sequenzen: Es ist möglich, mit Sequenzen beliebiger Größe zu arbeiten, ohne den Speicher zu überlasten.

Wir erstellen nun einen unendlichen Würfelwerfer, der auf Abruf zufällige Würfe generiert. Dadurch müssen wir niemals alle Würfe im Speicher halten, unabhängig davon, wie viele Würfe durchgeführt werden.

12345678910111213141516
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}")
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

bookLazy Evaluation in Python: Optimierung von Speicher und Leistung

Swipe um das Menü anzuzeigen

In diesem Kapitel führen wir das Konzept der Lazy Evaluation ein, eine Technik, bei der Daten nur dann erzeugt werden, wenn sie benötigt werden, anstatt sie im Voraus zu berechnen und zu speichern. Lazy Evaluation ist ein zentrales Merkmal von Iteratoren und besonders nützlich beim Arbeiten mit großen Datensätzen oder unendlichen Sequenzen.

Zentrale Vorteile:

  • Speichereffizienz: Es wird jeweils nur ein Element erzeugt;
  • Leistungsoptimierung: Die Berechnung erfolgt nur bei Bedarf;
  • Unterstützung unendlicher Sequenzen: Es ist möglich, mit Sequenzen beliebiger Größe zu arbeiten, ohne den Speicher zu überlasten.

Wir erstellen nun einen unendlichen Würfelwerfer, der auf Abruf zufällige Würfe generiert. Dadurch müssen wir niemals alle Würfe im Speicher halten, unabhängig davon, wie viele Würfe durchgeführt werden.

12345678910111213141516
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}")
copy

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 3
some-alt