Позволяет произвести дополнительную инициализацию класса-наследника.
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__
На заметку
Зарегистрированные пользователи могут оценивать Книги, Видео, Статьи и прочее, а также добавлять их в избранное, для упрощения доступа к ним в будущем.