Вопросы к Поиску с Алисой
Чтобы избежать ошибки NotImplementedError при работе с абстрактными классами в Python, можно использовать блоки try и except для обработки исключений. www.educba.com pythonru.com
Например, при использовании метода super() в цепочке подклассов каждый вызов нужно оборачивать в такой блок: stackoverflow.com
class Useful(Abstract): def spam(self): try: super(Useful, self).spam() except NotImplementedError, e: pass print(”It's okay.”) Также можно не вызывать NotImplementedError для абстрактных методов, так как они могут иметь реализации по умолчанию. discuss.python.org
Ещё один способ — знать, какие методы суперкласса реализованы, а какие нет, потому что они абстрактные. stackoverflow.com Для этого можно прочитать исходный код. stackoverflow.com