Русский
Открыть в Telegram

ПостКак применять структурное сопоставление с образцом к деревьям в Python

22 сентября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Как применять структурное сопоставление с образцом к деревьям в Python Структурное сопоставление особенно выразительно на рекурсивных структурах. Автор моделирует булевы выражения датаклассами Var, And, Or и Not, а затем разбирает каждый тип веткой case. Вычислитель захватывает поля прямо в образце. Для переменной он берёт значение из словаря, для And и Or рекурсивно обходит дочерние выражения через all() и any(), для Not инвертирует результат. Общая ветка выбрасывает ошибку, если появился неизвестный подкласс: явное лучше неявного. Тот же приём автор переносит на форматированный вывод дерева. Получается компактный разбор того, как рекурсивно применять match к древовидным данным, не превращая обход в цепочку проверок типов.
4 · 1.3K ·

Рядом в ленте

ZZen of PythonКак точно типизировать *args и **kwargs в Python Запись *args: tuple[int, str] выглядит как тип всего кортежа, но проверщик читает её иначе: каждый позиционный ZZen of PythonПочему в Python стоит подменять свой интерфейс, а не httpx Если бизнес-тест напрямую подменяет httpx.Client и httpx.Response, даже проверка пустого списка требу
это сообщение
ZZen of PythonPyodide разрешил публиковать WASM-колёса прямо в PyPI В Pyodide 314.0 появилась прямая публикация пакетов для WebAssembly в PyPI. Раньше команда сама собирала иZZen of PythonЧто меняет re.prefixmatch() в Python 3.15 re.match() проверяет совпадение только в начале строки. Поэтому шаблон из шести цифр принимает и 345071-in-abbey-wood:

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем