Различные методы реализации операторов Case в Python

В Python «случай» обычно относится к различным способам обработки или манипулирования данными в зависимости от их значения или типа. Под словом «случай» я предполагаю, что вы имеете в виду условные операторы или переключатели. Вот несколько методов Python для реализации кейсов:

  1. Операторы if-elif-else: это наиболее распространенный способ реализации условных случаев в Python. Вы можете использовать серию операторов if-elif-else для проверки различных условий и соответствующего выполнения определенных блоков кода.

Пример:

x = 5
if x == 1:
    print("x is 1")
elif x == 2:
    print("x is 2")
else:
    print("x is neither 1 nor 2")
  1. Сопоставление словарей. Вы можете использовать словари для сопоставления определенных значений с соответствующими действиями. Каждое значение действует как случай, и соответствующее действие выполняется, когда значение соответствует входному.

Пример:

def case_one():
    print("Case one")
def case_two():
    print("Case two")
switch = {
    1: case_one,
    2: case_two
}
x = 2
switch.get(x, default_case)()
  1. Сопоставление с образцом (Python 3.10+). Начиная с Python 3.10, оператор matchпозволяет выполнять сопоставление с образцом с более кратким синтаксисом.

Пример:

from typing import Match
def process_data(data: Match[str]):
    match data:
        case "option1":
            print("Option 1 selected")
        case "option2":
            print("Option 2 selected")
        case _:
            print("Invalid option")
x = "option1"
process_data(x)