Kursinhalt
Python-Funktionen-Tutorial
Python-Funktionen-Tutorial
Generator Functions
Eine Generatorfunktion ist eine spezielle Art von Funktion, die das yield
-Schlüsselwort anstelle von return
verwendet, um eine Sequenz von Werten zu erzeugen. Wenn eine Generatorfunktion aufgerufen wird, gibt sie ein Iterator-Objekt zurück, über das iteriert werden kann, um die Werte einzeln abzurufen.
Der Hauptvorteil von Generatorfunktionen liegt in ihrer Speichereffizienz. Generatorfunktionen erzeugen Werte im Handumdrehen, sobald sie benötigt werden, anstatt die gesamte Sequenz im Voraus zu generieren. Dies macht sie speichereffizient, besonders beim Umgang mit großen Datensätzen oder unendlichen Sequenzen.
Schauen wir uns das Beispiel eines einfachen Generators an. Diese Funktion ist ein Generator, der Logins einzeln aus der gegebenen Liste liefert:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
Das Prinzip eines Generators besteht darin, dass er es ermöglicht, Werte einzeln mittels des yield
-Schlüsselworts zurückzugeben, ohne sie alle gleichzeitig im Speicher abzulegen. In unserem Beispiel durchläuft der unique_logins_from_list
-Generator die __Liste der Logins, wobei er jeden einzelnen bei yield
zurückgibt und an dieser Stelle pausiert. Wenn next()
aufgerufen wird, setzt der Generator an der Stelle fort, an der er aufgehört hat, und liefert effizient Werte ohne dass die gesamte Liste gleichzeitig im Speicher gespeichert werden muss. Dies macht Generatoren besonders nützlich für die Verarbeitung großer Datensätze oder Datenströme.
Swipe to start coding
Erstelle einen Generator, der eindeutige Identifikatoren erzeugt. Die Identifikatoren können zum Beispiel Zeichenketten im Format "ID_1"
, "ID_2"
usw. sein. Jedes Mal, wenn du next()
aufrufst, sollte der Generator einen neuen eindeutigen Identifikator zurückgeben.
Lösung
Danke für Ihr Feedback!
Generator Functions
Eine Generatorfunktion ist eine spezielle Art von Funktion, die das yield
-Schlüsselwort anstelle von return
verwendet, um eine Sequenz von Werten zu erzeugen. Wenn eine Generatorfunktion aufgerufen wird, gibt sie ein Iterator-Objekt zurück, über das iteriert werden kann, um die Werte einzeln abzurufen.
Der Hauptvorteil von Generatorfunktionen liegt in ihrer Speichereffizienz. Generatorfunktionen erzeugen Werte im Handumdrehen, sobald sie benötigt werden, anstatt die gesamte Sequenz im Voraus zu generieren. Dies macht sie speichereffizient, besonders beim Umgang mit großen Datensätzen oder unendlichen Sequenzen.
Schauen wir uns das Beispiel eines einfachen Generators an. Diese Funktion ist ein Generator, der Logins einzeln aus der gegebenen Liste liefert:
def unique_logins_from_list(login_list): # Iterate over each login in the list for login in login_list: yield login # `yield` the current login # A predefined list of available logins login_list = ["user1", "user2", "user3", "user4", "user5"] # Creating a generator instance from the login list login_generator = unique_logins_from_list(login_list) # Generate and print 5 logins, one at a time for _ in range(5): # Each call to `next()` gives the next login print(next(login_generator))
Das Prinzip eines Generators besteht darin, dass er es ermöglicht, Werte einzeln mittels des yield
-Schlüsselworts zurückzugeben, ohne sie alle gleichzeitig im Speicher abzulegen. In unserem Beispiel durchläuft der unique_logins_from_list
-Generator die __Liste der Logins, wobei er jeden einzelnen bei yield
zurückgibt und an dieser Stelle pausiert. Wenn next()
aufgerufen wird, setzt der Generator an der Stelle fort, an der er aufgehört hat, und liefert effizient Werte ohne dass die gesamte Liste gleichzeitig im Speicher gespeichert werden muss. Dies macht Generatoren besonders nützlich für die Verarbeitung großer Datensätze oder Datenströme.
Swipe to start coding
Erstelle einen Generator, der eindeutige Identifikatoren erzeugt. Die Identifikatoren können zum Beispiel Zeichenketten im Format "ID_1"
, "ID_2"
usw. sein. Jedes Mal, wenn du next()
aufrufst, sollte der Generator einen neuen eindeutigen Identifikator zurückgeben.
Lösung
Danke für Ihr Feedback!