Позволяет произвести дополнительную инициализацию класса-наследника.
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__
На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.