Это так, что ваши пользовательские исключения могут начинаться с тех же атрибутов экземпляра, что и объект BaseException
, включая атрибут value
, в котором хранится сообщение об исключении, которое необходимо некоторым другим методам, таким как __str__
, что позволяет преобразовать объект исключения в строку напрямую.Вы можете пропустить вызов super().__init__
в __init__
вашего подкласса и вместо этого инициализировать все необходимые атрибуты самостоятельно, если хотите, но тогда вы не воспользуетесь одним из ключевых преимуществ наследования классов.Всегда вызывайте super().__init__
, если только у вас нет особых причин не использовать какие-либо атрибуты экземпляра родительского класса.