все 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Сообщить о неточности