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

pylint acusando erro na classe Hipster

Bom dia! Reproduzi exatamente o código sobre herança múltilpla/Mixin, porém o pylint fica apontando o seguinte erro no {self.nome} :

self: Hipster
Instance of 'Hipster' has no 'nome' memberpylint(no-member)

O código completo da classe que está aquele erro é o seguinte:

class Hipster:
    def __str__(self):
        return f'Hipster,  {self.nome}'     

Apesar desse apontamento, ao executar o código tudo funciona corretamente, porém gostaria de entender o porque ele fica acusando esse erro e se tem alguma forma de tirar essa indicação.

Se alguém puder ajudar, agradeço muito!

2 respostas
solução!

Olá Thiago, bom dia!

Ele coloca esse aviso porque não existe um atributo nome explícito na classe Hipster. Isso não resulta em um erro porque essa classe não é utilizada isoladamente, ela é herdada junto da classe Funcionario que define o atributo nome, e então quando o método __str__ dentro de Hipster é chamado já existe um nome definido.


Se você quer desativar o aviso, o mais simples é adicionar um comentário informando o pylint para ignorar isso:

class Hipster:
    # pylint: disable=no-member
    def __str__(self):
        return f'Hipster, {self.nome}'

A alternativa é criar um arquivo de configuração para o projeto chamado .pylintrc e definir lá que você quer ignorar esse tipo de mensagem, cuidado que criando esse arquivo as configurações padrão vão ser ignoradas, então provavelmente vão surgir vários outros tipos de mensagens. Segue um exemplo do conteúdo desse arquivo:

[MESSAGES CONTROL]

disable=no-member

O melhor é que você deixe esse tipo de aviso ativado mesmo, o aviso não ajudou nesse exemplo atual mas pode ser importante mais pra frente.

Espero ter ajudado, qualquer coisa é só falar!

Perfeito! Mais bem explicado não tem como! Obrigado, Lucas!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software