O que fazer quando aparece NotImplementedError no Python?

O erro NotImplementedError no Python indica que um método ou função não foi implementado corretamente e precisa ser definido antes do uso.

O que fazer quando aparece NotImplementedError no Python?

O erro NotImplementedError ocorre quando um método é definido, mas sua implementação ainda não foi realizada. Esse erro é comum ao trabalhar com classes base (abstratas).

Exemplo do erro

class Animal:
    def fazer_som(self):
        raise NotImplementedError("Este método deve ser implementado nas subclasses.")

class Cachorro(Animal):
    pass

c = Cachorro()
c.fazer_som()

Nesse caso, a classe Animal define um método fazer_som(), mas ele não foi implementado na subclasse Cachorro, resultando no erro NotImplementedError.

Solução 1: Implementar o método na subclasse

Para corrigir, basta garantir que todas as subclasses implementem os métodos necessários:

class Cachorro(Animal):
    def fazer_som(self):
        return "Au Au"

c = Cachorro()
print(c.fazer_som())

Agora, o método fazer_som() foi implementado corretamente na subclasse Cachorro, evitando o erro.

O NotImplementedError é útil para forçar a implementação de métodos em subclasses. Ele é frequentemente utilizado em programação orientada a objetos para garantir que todas as classes filhas implementem métodos essenciais definidos em uma classe base.

Algumas aplicações:

  • Criação de classes base para reutilização de código.
  • Definição de métodos obrigatórios em subclasses.
  • Melhoria na organização de código orientado a objetos.

Dicas para quem está começando

  • Sempre implemente métodos obrigatórios em suas subclasses.
  • Use NotImplementedError para definir comportamentos esperados.
  • Verifique se está chamando corretamente os métodos das classes base.

Contribuições de Mariana Costa

Compartilhe este tutorial: O que fazer quando aparece NotImplementedError no Python

Compartilhe este tutorial

Continue aprendendo:

Como corrigir IsADirectoryError: [Errno 21] Is a directory

O erro IsADirectoryError ocorre quando um diretório é tratado como um arquivo em operações de manipulação de arquivos no Python.

Tutorial anterior

Como corrigir AssertionError ao usar assert em testes

O erro AssertionError no Python ocorre quando uma condição avaliada com assert retorna False, indicando uma falha na validação esperada.

Próximo tutorial