Answer

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


Report Page