Как использовать регистр соответствия с типом классаPython

Программы на Python
Ответить
Anonymous
 Как использовать регистр соответствия с типом класса

Сообщение Anonymous »

Я хочу использовать сопоставление, чтобы определить действие, которое необходимо выполнить, на основе типа класса. Кажется, я не могу понять, как это сделать. Я знаю, что есть и другие способы добиться этого, мне просто хотелось бы знать, можно ли это сделать таким образом. Я не ищу обходных путей, которых много.

class aaa():
pass

class bbb():
pass

def f1(typ):
if typ is aaa:
print("aaa")
elif typ is bbb:
print("bbb")
else:
print("???")

def f2(typ):
match typ:
case aaa():
print("aaa")
case bbb():
print("bbb")
case _:
print("???")

f1(aaa)
f1(bbb)
f2(aaa)
f2(bbb)

Вывод следующий:
aaa
bbb
???
???
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»