Rozdział 13 · Automatyzacja z funkcjami

Mini-projekt - Analizator tekstu, wersja 2 Projekt integracyjny

Ten sam parser tekstowy z rozdziału 12 — ale teraz jako czysty, testowalny pipeline funkcji.

Zastosowanie
defreturnlistsetdict
Poziom
integracja
Rezultat
raport tekstowy

Pełny refaktoring analizatora tekstu z rozdziału 12 (§12.6) w pipeline z czystych funkcji — bezpośrednie kontynuowanie idei §13.21.

MAIN
normalize_text
split_words
word_frequency
build_summary
Każdy etap jest osobną, niezależnie testowaną funkcją
analizator_v2.py
def normalize_text(text):
    return text.lower()

def split_words(text):
    return text.split()

def word_frequency(words):
    counts = {}
    for word in words:
        counts[word] = counts.get(word, 0) + 1
    return counts

def build_summary(text):
    clean = normalize_text(text)
    words = split_words(clean)
    counts = word_frequency(words)
    return {
        "total_words": len(words),
        "unique_words": len(set(words)),
        "counts": counts,
    }

summary = build_summary("Python is great and python is fun")
print(summary)
build_summary jest potok, który wywołuje pozostałe trzy
Dokładnie wzorzec z §13.21: build_summary sam nic nie oblicza — przesyła dane wzdłuż łańcucha normalize_text → split_words → word_frequency i zbiera podsumowanie w słownik.
Praktyka: Parser tekstu jako potok funkcji
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →