Python Glossary English

все Python 3Исключенияисключение

NotImplementedError

встроенные исключения

Вызывается в абстрактных методах, которые обязаны быть переопределены в подклассах. Показывает, что метод намеренно не реализован.

Синтаксис

raise NotImplementedError('переопредели метод')

Не путайте с NotImplemented — это отдельный синглтон, который методы вроде __eq__ и __add__ возвращают (а не бросают), чтобы Python попробовал зеркальную операцию у второго операнда. И это не полноценный способ объявить абстракцию: заглушка сработает только в момент вызова метода, тогда как abc.ABC с @abstractmethod не даст даже создать экземпляр недописанного подкласса. Формально NotImplementedError — подкласс RuntimeError.

Примеры

class Shape:
    def area(self):
        raise NotImplementedError('area() must be implemented')
class Circle(Shape):
    def area(self):
        return 3.14 * self.r ** 2

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности