У меня настроен цикл match...case..., и я хочу запустить некоторый код, если какой-либо из случаев будет сопоставлен. Я подумал, что мог бы сделать это, используя назначенную переменную, как показано ниже, но мне было интересно, есть ли более короткий способ сделать это, поскольку он кажется чрезмерно многословным.
Вот пример кода, который в двух словах делает то, что мне нужно:
Код: Выделить всё
def foo(x):
c = 0
match x:
case "Hello,":
a()
c = 1
case "World!":
b()
c = 1
case "foobar":
c()
c = 1
if c == 1:
print("Something happened")
else:
print("Something didn't happen :(")
Я также мог бы запустить свою функцию в любом случае:
Код: Выделить всё
case "Hello,":
a()
print("Something happened")
(etc...)
Но опять же, это кажется излишним, и я хотел знать, есть ли более элегантное решение.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... ython-3-10