Разница между NotImplementedError и NotImplemented в Python заключается в их назначении:
- NotImplemented возвращают бинарные специальные методы (например, eq(), lt(), add(), rsub()) для указания, что операция не реализована по отношению к другому типу. 1
- NotImplementedError выбрасывают абстрактные методы в определяемых пользователем базовых классах, когда они требуют, чтобы производные классы переопределили метод, или во время разработки класса, чтобы указать, что ещё нужно добавить реальную реализацию. 12
Таким образом, NotImplemented помогает интерпретатору поддерживать бинарную операцию, в то время как NotImplementedError выбрасывает исключение. 1