Позволяет произвести дополнительную инициализацию класса-наследника.
object.__init_subclass__(cls)
-> None
cls -- Инициализируемый класс-наследник.

Вызывается всякий раз, когда происходит наследование от класса, в котором данный метод определён.
Использование метода упрощает выполнение некоторых типов задач, которые ранее решались при помощи метаклассов.

На заметку
Реализация метода по умолчанию не делает ничего. Однако поднимает TypeError, если ей переданы аргументы.

    class Base:
"""Базовый класс, обрабатывающий инициализацию наследников."""

registry = []

def __init_subclass__(cls, my_arg='some'):

super().__init_subclass__()

# Для примера создадим реестр всех наследников.
cls.registry.append(cls)

# Выводим аргумент.
print(my_arg)


class Child1(Base):
"""Первый класс наследник."""


class Child2(Base, my_arg='two'):
"""Второй наследник. Обратите внимание на возможность
передачи аргумента в инициализатор на примере my_arg.

"""


class SubChild1(Child1, my_arg='sub'):
"""И вложенный наследник."""


# print в инициализаторе выведет:
# some
# two
# sub

# А теперь посмотрим, что накопилось в реестре наследников:
print(Base.registry)
# [<class '__main__.Child1'>, <class '__main__.Child2'>, <class '__main__.SubChild1'>]

На заметку
Метаклассы никогда не передаются в данный метод.
Синонимы поиска: object.__init_subclass__, object, __init_subclass__
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.