Answer
t.me/python_tesstОтвет:
A or B
A or B
default
default
Объяснение:
Простой и наглядный пример по вопросу метакласса. Вы можете дать A
метакласс, и тогда все подклассы A
будут экземплярами этого метакласса.
Код:
from functools import singledispatch class AMeta(type): pass class A(metaclass=AMeta): pass class B(A): pass @singledispatch def foo(arg): print('default') @foo.register def _(arg: AMeta): print('A or B') foo(A) # A or B foo(B) # A or B foo(A()) # default class C: pass foo(C) # default