PYTHON MATCH CASE НЕ РАБОТАЕТ

Python 3.10 добавил новую конструкцию "match case" для удобного сопоставления значений переменных. Однако, появились отчеты о том, что некоторые программисты не могут использовать эту конструкцию.

Проблема заключается в том, что "match case" работает только с итерируемыми объектами. Если пытаться использовать его с обычными значениями переменных, будет возбуждено исключение "TypeError". Это ограничение не было достаточно явно документировано в официальной документации.

Исправить это можно, например, преобразовав значение переменной в список или кортеж:

x = 2
match x:
    case [1, 2, 3]:
        print("x is 1, 2, or 3")
    case [4, 5, 6]:
        print("x is 4, 5, or 6")
    case [7, 8, 9]:
        print("x is 7, 8, or 9")
    case _: # обработка случая по умолчанию
        print("x is not in [1, 2, 3, 4, 5, 6, 7, 8, 9]")

Также, если использовать "match case" для сопоставления значений переменных, следует убедиться, что для сравнения используется оператор "==" вместо оператора "is".

Switch Case конструкция на python

Python 3.10 — Лучший новый инструмент Pattern Matching и его возможности

Match case in Python 3.10

#72. Конструкция match/case. Примеры и особенности использования - Python для начинающих

MATCH CASE - Nova Funcionalidade do Python 3.10

MASTER the Match Statement in Python - Python 3.10 Switch Case Complete Guide

Python Мини курс/ Урок 11/ Меню через MATCH CASE

BLGPG-82EC3B18124C-24-09-20-01

Новые материалы: