Исключение, возникающее в случаях, когда наследник класса не переопределил метод, который должен был.

Исключение должно подниматься методами пользовательских базовых классов как индикатор того, что наследникам требуется переопределить такие методы.

    class MyClass(object):

def __init__(self):
self.run()

def run(self):
raise NotImplementedError(
'Определите run в %s.' % (self.__class__.__name__))


class MySubclass(MyClass):
"""Наследник, у которого run должен был быть определён."""


my_obj = MySubclass() # NotImplementedError: Определите run в MySubclass.

По сути является одним из средств поддержания интерфейса (соблюдения контракта).
Синонимы поиска: NotImplementedError
В разделе «RuntimeError»: RecursionError
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.