Перейти к содержимому
22 / 22

Что такое сопоставление с образцом `match/case` в Python 3.10+ и чем оно отличается от switch?

match/case — структурное сопоставление с образцом (PEP 634), а не switch. Сопоставляет не только литералы, но и структуру объекта: tuple, list, dict, dataclass через __match_args__. Поддерживает capture patterns, OR-patterns, guards через if. Не нужен break. Анти-паттерн: голые имена воспринимаются как capture, не как сравнение — для констант нужен enum.Foo.BAR или Cls.NAME.