Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Praktische Anwendungen von Generatoren: Anwendungsfälle aus der Praxis | Iteratoren und Generatoren
Quizzes & Challenges
Quizzes
Challenges
/
Python Fortgeschrittene Konzepte

bookPraktische Anwendungen von Generatoren: Anwendungsfälle aus der Praxis

Generatoren können als leichtgewichtige Kontextmanager eingesetzt werden, um Ressourcen effizient zu verwalten, wie beispielsweise Datenbankverbindungen, Dateioperationen oder Sperrmechanismen. Mit dem Modul contextlib ermöglichen Generatoren eine nahtlose Ressourcenallokation und -freigabe.

1234567891011121314
from contextlib import contextmanager @contextmanager def database_connection(): print("Opening database connection") connection = "Database Connection" # Simulated connection try: yield connection finally: print("Closing database connection") # Using the generator as a context manager with database_connection() as conn: print(f"Using {conn}")
copy

Effiziente Verarbeitung großer Datenmengen

Generatoren eignen sich hervorragend zum Aufbau von Datenpipelines, die große Datensätze verzögert verarbeiten. Jede Stufe der Pipeline kann als Generator implementiert werden, was eine effiziente und speicherschonende Verarbeitung ermöglicht.

12345678910111213141516171819202122232425262728293031323334353637383940
import re # Stage 1: Read lines lazily def read_lines(text): for line in text.split("\n"): yield line # Stage 2: Filter non-empty lines def filter_lines(lines): for line in lines: if line.strip(): yield line # Stage 3: Extract words lazily def extract_words(lines): for line in lines: for word in re.findall(r'\w+', line): yield word # Stage 4: Transform words to lowercase def lowercase_words(words): for word in words: yield word.lower() # Input text text = """Generators are powerful tools They allow efficient data processing This pipeline demonstrates their usage""" # Build the pipeline lines = read_lines(text) filtered = filter_lines(lines) words = extract_words(filtered) lowercased = lowercase_words(words) # Process the data print("Processed words:") for word in lowercased: print(word)
copy

1. Was passiert, wenn eine Generatorfunktion keine Werte mehr mit yield liefert?

2. Was gibt der folgende Code aus?

3. Was macht der folgende Code?

question mark

Was passiert, wenn eine Generatorfunktion keine Werte mehr mit yield liefert?

Select the correct answer

question mark

Was gibt der folgende Code aus?

Select the correct answer

question mark

Was macht der folgende Code?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

Awesome!

Completion rate improved to 3.13

bookPraktische Anwendungen von Generatoren: Anwendungsfälle aus der Praxis

Swipe um das Menü anzuzeigen

Generatoren können als leichtgewichtige Kontextmanager eingesetzt werden, um Ressourcen effizient zu verwalten, wie beispielsweise Datenbankverbindungen, Dateioperationen oder Sperrmechanismen. Mit dem Modul contextlib ermöglichen Generatoren eine nahtlose Ressourcenallokation und -freigabe.

1234567891011121314
from contextlib import contextmanager @contextmanager def database_connection(): print("Opening database connection") connection = "Database Connection" # Simulated connection try: yield connection finally: print("Closing database connection") # Using the generator as a context manager with database_connection() as conn: print(f"Using {conn}")
copy

Effiziente Verarbeitung großer Datenmengen

Generatoren eignen sich hervorragend zum Aufbau von Datenpipelines, die große Datensätze verzögert verarbeiten. Jede Stufe der Pipeline kann als Generator implementiert werden, was eine effiziente und speicherschonende Verarbeitung ermöglicht.

12345678910111213141516171819202122232425262728293031323334353637383940
import re # Stage 1: Read lines lazily def read_lines(text): for line in text.split("\n"): yield line # Stage 2: Filter non-empty lines def filter_lines(lines): for line in lines: if line.strip(): yield line # Stage 3: Extract words lazily def extract_words(lines): for line in lines: for word in re.findall(r'\w+', line): yield word # Stage 4: Transform words to lowercase def lowercase_words(words): for word in words: yield word.lower() # Input text text = """Generators are powerful tools They allow efficient data processing This pipeline demonstrates their usage""" # Build the pipeline lines = read_lines(text) filtered = filter_lines(lines) words = extract_words(filtered) lowercased = lowercase_words(words) # Process the data print("Processed words:") for word in lowercased: print(word)
copy

1. Was passiert, wenn eine Generatorfunktion keine Werte mehr mit yield liefert?

2. Was gibt der folgende Code aus?

3. Was macht der folgende Code?

question mark

Was passiert, wenn eine Generatorfunktion keine Werte mehr mit yield liefert?

Select the correct answer

question mark

Was gibt der folgende Code aus?

Select the correct answer

question mark

Was macht der folgende Code?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 6. Kapitel 5
some-alt