Kapitel 5. Iteratoren und Generatoren

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wenn viele Menschen mit Erfahrung in einer anderen Sprache anfangen, Python zu lernen, sind sie erstaunt über den Unterschied in der for Schleifenschreibweise. Das heißt, anstatt zuschreiben

# Other languages
for (i=0; i<N; i++) {
    do_work(i);
}

werden sie in eine neue Funktion namens range eingeführt:

# Python
for i in range(N):
    do_work(i)

Im Python-Codebeispiel rufen wir eine Funktion range auf, die alle Daten erzeugt, die wir für die for Schleife benötigen. Intuitiv betrachtet kann dies ein ziemlich zeitaufwändiger Prozess sein - wenn wir versuchen, eine Schleife über die Zahlen 1 bis 100.000.000 zu erstellen, müssen wir viel Zeit darauf verwenden, das Array zu erstellen! An dieser Stelle kommen die Generatoren ins Spiel: Sie ermöglichen es uns, diese Art von Funktionen einfach auszuwerten, sodass wir den Code dieser speziellen Funktionen lesen können, ohne dass die Leistung darunter leidet.

Um dieses Konzept zu verstehen, wollen wir eine Funktion implementieren, die mehrere Fibonacci-Zahlen berechnet, indem ...

Get High Performance Python, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.