Оператор match в Python работает для сложных условий следующим образом: он последовательно сравнивает выражение с шаблонами из блоков case. 2 Если шаблон из какого-нибудь блока case соответствует выражению из match, то выполняются инструкции из данного блока case. 2
В качестве паттернов, с которыми сравниваются выражения, могут применяться как данные примитивных типов, так и последовательности элементов и объектов классов. 2
Пример: в зависимости от языка выводится приветственное сообщение: 2
def print_hello(language): match language: case 'russian': print('Привет') case 'english': print('Hello') case 'german': print('Hallo')
Если выражение из match не соответствует ни одному из шаблонов case, то ни один из этих блоков case не выполняется. 2 Если необходимо, чтобы при несовпадении значений выполнялись некоторые действия по умолчанию, то в этом случае применяется шаблон _ (прочерк). 2
При одном case через оператор | можно перечислять несколько значений. 5 Если значение переменной соответствует хотя бы одному из них, тело этого case выполнится. 5