Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Method 'valida' may be 'static'

Apenas por curiosidade...

Utilizo a IDE Pycharm e abaixo da função def valida(self, documento) fica uma informação de que o Método "valida" pode ser estático. Tenho percebido isso há tempos mas ainda não consegui entender muito bem o que exatamente isso quer dizer. Será que poderiam me recomendar algum material para que eu possa compreender isso?

Desde já, agradeço!!

2 respostas
solução!

Seu método valida não usa self em nenhum momento da implementação, então o pycharm pensa que você esqueceu de decorar seu método com a anotação @staticmethod acima dele. O que significa isso? Basicamente, você não precisaria passar nenhuma instância do objeto para utilizar o método valida.

Exemplificando: https://www.journaldev.com/18722/python-static-method

Ahhh acho que entendi. De certa forma. rs

Quando um método é atribuído a um objeto, ele recebe Self, em contrapartida, quando é uma implementação exclusiva da Classe ele não recebe Self, então seria considerado um método estático. Como você apontou, o método válida não recebe nenhuma implementação orientada ao objeto Self, apenas a própria Classe, então a IDE deduz que na verdade trata-se de um Método Estático que você esqueceu de declarar.

Muito obrigado, Rafael! Abraço!!