Почему же, вон и в PHP хотят match
добавить.
Это языковая конструкция нового времени.
php - плохой язык для примера, они бездумно идут по пути java, делая еще и дубликат с косяками.
Новые конструкции должны упрощать код, не усложнять. Если проще для python: меньше сдвигов вправо.
Реализация этого паттерна в функциональных языках вроде elixir прекрасна - перегрузка функции, где каждая перегруженная функция во входных параметрах имеет условие вроде:
def do_smth(x: int > 10, y: int) -> Any:
pass
def do_smth(x: int <= 10, y: int) -> Any:
pass
# где-то будет куча таких const literal
ACTIVE: str = 'active'
INACTIVE: str = 'inactive'
def do_smth(s: str = ACTIVE):
pass
def do_smth(s: str = INACTIVE):
pass
вызывающая функция лишь вызывает, не думает о конкретном кейсе, все решает интерпретатор