PEP 634 представил спецификацию функции сопоставления структурных шаблонов, начиная с python-3.10 . Кроме того, PEP 635 представляет мотивы и обоснование этой новой функции. Наконец, PEP 636 представляет практическое руководство по различным способам использования этой функции.
Эта функция предлагает удобный динамический способ анализа различных входных данных в соответствии с желаемыми шаблонами и указания способов обработки этих шаблонов соответствующим образом. Это делается с помощью новых мягких ключевых слов (т. е. они не являются зарезервированными словами в других грамматических контекстах) match и case.
Например:
match string:
case "value1":
# do something if the input is "value1"
case _:
# do something for any other case
будет сопоставлять ввод string с различными случаями (шаблонами), когда _ используется в качестве подстановочного знака — случай по умолчанию, который всегда соответствует.
Некоторые из других полезных конструкций: