Глава 13 · Автоматизация с помощью функций
Функции как конвейер
Несколько маленьких функций, каждая с ясным входом и выходом, могут вместе выполнить крупную задачу — не хуже одного длинного скрипта, но гораздо понятнее.
Результат одной функции — вход для следующей
konvejer.py
clean = normalize_text(input_text)
words = split_words(clean)
counts = count_words(words)
Это архитектурный приём, а не просто удобство
Разбиение на такие стадии — мощный способ организовать программу: каждая функция решает одну понятную задачу, у каждой ясный вход и выход, и стадии можно тестировать по отдельности (§13.24).
Граф вызовов (call graph)
Когда функции вызывают другие функции, получившуюся структуру можно изобразить как дерево — граф вызовов:
MAIN
normalize_text
analyze_text
count_words
count_unique
show_report
Мы вернёмся к этой идее в §13.22, когда будем рефакторить реальные проекты главы 12 в похожую структуру.
Практика: конвейер из функций
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки