Сопоставление с образцом (pattern matching)
Коротко: Сопоставление с образцом проверяет значение по ряду шаблонов и одновременно разбирает его на компоненты – мощная замена длинным цепочкам if/else и switch.
Подробнее: Шаблоны могут описывать константы, типы, списки, кортежи, записи и вложенные структуры, часто с дополнительными условиями (guard). Особенно развито в Haskell, OCaml, F#, Erlang, Elixir, Scala и Rust; Python (match, 3.10), Java (шаблоны в switch), C#, Kotlin и JavaScript догоняют.
Подробности
def describe(value):
match value:См. также: регулярные выражения, enum, switch, системы типов