Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

duvida sobre setter

No código:

@limite.setter
    def limite(self, limite):
        self.__limite = limite

Alguém sabe me dizer o motivo de no pycharm quando se muda algo do tipo:

@limite.setter
    def limite(self, novo_limite):
        self.__limite = novo_limite

A cor do @limite muda para a mesma cor de .setter? é alguma propriedade do editor ou tem alguma coisa haver com a linguagem?

1 resposta
solução!

Olá Vinicius, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Essa mudança de cores é uma funcionalidade presente na IDE Pycharm. Essas mudanças de cores nas IDEs chão chamadas de Syntax Highlighting (Realce de sintaxe), elas têm como objetivo facilitar a leitura do código pelo programador.

Quando estamos utilizando o .setter estamos com o objetivo de informar um novo valor para uma variável, o método usando o setter ficará da seguinte forma:

    @nome_do_metodo.setter
    def nome_do_metodo(self, value):

Essa mudança de cor acontece como uma forma de aviso para o usuário, esse aviso demonstra que o nome utilizado para representar o parâmetro do método (value) é o mesmo nome utilizado para definir um método. Esse aviso é apresentado como uma forma de recomendação, para que seja utilizado um nome diferente para o parâmetro (value) evitando dificuldades na interpretação. Trazendo para o nosso código e utilizando a palavra limite como representação do parâmetro do método, teremos o seguinte resultado:

    @limite.setter
    def limite(self, limite):
        self.__limite = limite

    @limite.setter
    def limite(self, novo_limite):
        self.__limite = novo_limite

Imagem da IDE Pycharm, o fundo da tela é cinza, o código apresentado anterior a essa imagem está inserido na IDE, na imagem existem quatro destaques, os dois primeiros são com retângulos vermelhos, estão destacando o primeiro decorator @limite.setter; a palavra limite desse decorator está na cor cinza e o @ e .setter está na cor amarela, o segundo destaca a palavra limite que representa o parâmetro do método, os destaques três e quatros, são feitos com retângulos verdes, estão no segundo método, estão destacando o segundo decorator @limite.setter; nesse segundo decorator todas letras estão em amarelo, o quarto destaque está no segundo método em seu parâmetro, o parâmetro tem o nome de novo_limite.

Note o código acima, ao utilizar o parâmetro “value” como “novo_limite”, fica mais intuitivo a interpretação, evitando dessa forma, que seja interpretado que estamos passando o nome de um método como um parâmetro.

Para saber um pouco mais sobre Syntax Highlighting (Realce de sintaxe), recomendo a leitura do artigo abaixo, o artigo está em inglês, caso tenha dificuldades com o idioma recomendo o uso do tradutor do navegador.

Em caso de dúvidas, encontro-me à disposição.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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