Задать вопрос
@Web__Nikita03

Для чего нужны абстрактные классы?

Для чего нужна библиотека abc? Ведь я могу писать в методе, который нужно переопределить, raise NotImplementedError.
  • Вопрос задан
  • 154 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Во-первых, класс, содержащий абстрактный метод, сам является абстрактным и не должен инстанцироваться. Выбрасывая NotImplementedError вы такого эффекта не добьётесь и можете получить исключение в рантайме, создав по ошибке экземпляр абстрактного класса. Во-вторых, декларативный подход позволяет писать более чистый код, явно передающий намерения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы