Разница между NotImplementedError и NotImplemented в Python заключается в их использовании:
- NotImplementedError используется внутри методов или функций для сигнала о том, что метод или функция ещё не реализованы. 5 Например, когда определяется абстрактный базовый класс и указываются сигнатуры методов, которые понадобятся подклассам, но не реализуется их поведение. 1
- NotImplemented используется в контексте арифметических методов для сообщения Python, что конкретная операция не может быть обработана определённым классом. 1 Например, когда в специальном методе поддерживается бинарная операция, но она не реализована для конкретного типа аргументов. 4
Таким образом, NotImplementedError помогает интерпретатору поддерживать бинарную операцию, а NotImplemented указывает на то, что операция не реализована для определённых аргументов. 4