Официально: в Python 3.10 появятся операторы case и match

По своей сути они будут ближе к реализации в Rust и Scala, чем к аналогам в Си и Java.

На официальном сайте языка Python появилось сообщение от руководителей проекта. В нём они рассказали о том, что в выпуске Python 3.10 появится поддержка двух новых операторов сопоставления: match и case. 

Нововведение в первую очередь должно улучшить читаемость кода. Также оно должно лишить python-разработчиков необходимости разрабатывать собственные решения для сравнения получаемых результатов с «образцом», пишет OpenNET.

Пример кода с использованием операторов match и case

def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 401|403|404:
            return "Not allowed"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something else"

Реализация оператора в Python очень сильно напоминает то, как устроен match в Scala, Rust и F#. В отличие же от традиционного для языков Си, Java и JavaScript оператора switch, выражения на основе match предлагают более расширенную функциональность.

Источник: OpenNET