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
defreturnlistsetdictPoziom
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
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