Compreender o decorador de propriedades das classes Python

Foto de Ralph (Ravi) Kayden no Unsplash

Introdução

Na programação orientada a objetos, cada atributo de uma classe pode ter três métodos básicos:

  1. Um método getter para obter seu valor
  2. Um método setter para definir seu valor
  3. Um método deleter para excluí-lo

No entanto, a vida não é tão fácil quanto o exemplo acima. Como podemos lidar com a entrada errada como Yang._score = -10ou Yang._score = 99999?

Uma boa ideia é escrever uma função setter self._scorepara verificar o valor de entrada.

Parece bom, mas ainda podemos definir um valor inválido diretamente:

Se usarmos a set_score() função, a validade do valor será verificada. Mas se esquecermos de usá-lo e ainda definirmos os valores diretamente, nenhuma validação pode ser garantida.

Portanto, ainda não podemos garantir totalmente que o valor de self._scoreé sempre válido. Sem mencionar que definir um valor por um método não é tão conveniente quanto defini-lo diretamente. É aqui que o decorador da propriedade vem para resgatar.

Foto de Seb Mooze no Unsplash

Como usar o decorador de propriedades?

Vamos modificar a Studentclasse assim:

Conforme o código acima mostrado, após usar o @propertydecorador, podemos definir o valor diretamente e garantir a validade dele. O decorador de propriedade é um mecanismo muito útil e amplamente usado em classes Python. Isso nos ajuda a chamar os métodos getter, setter e deleter diretamente pelo atributo.

Um modelo comum para usar o decorador de propriedade é:

Observação: os nomes dos métodos getter, setter e deleter devem ser iguais. A melhor opção é usar o nome do atributo.

Outra maneira de usar o decorador de propriedades

A propriedade é apenas um decorador embutido em Python. Portanto, como outros decoradores, podemos usá-lo de outra maneira:

A property(fget=None,fset=None,fdel=None,doc=None)função possui quatro parâmetros:

  • fget () - usado para obter o valor do atributo
  • fset () - usado para definir o valor do atributo
  • fdel () - usado para deletar o valor do atributo
  • doc () - string que contém a documentação (docstring) para o atributo

Como sabemos, existem três métodos (getter, setter e deleter) que podemos definir pelo decorador da propriedade. Se um dos três métodos não for definido, não podemos usar este método. Portanto, podemos usar habilmente o decorador de propriedade para definir um atributo somente leitura. Por exemplo:

Conforme mostrado no exemplo acima, não definimos o método setter de score, portanto, scorenão pode ser definido. Em outras palavras, é um atributo somente leitura. Este é um cenário de uso importante do decorador de propriedade.

Conclusão

O decorador de propriedade é uma ferramenta poderosa e amplamente usada em classes Python. Ele nos permite escrever um código conciso, garantindo as verificações necessárias nos parâmetros, de modo que a possibilidade de erros seja reduzida.

Obrigado pela leitura. Mais tutoriais Python:

The Ultimate Python Tutorial (continue atualizando)

Suggested posts

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

Como executar plugins ChatGPT gratuitamente usando Langchain

Como executar plugins ChatGPT gratuitamente usando Langchain

Você deve ter ouvido falar sobre todos os novos plug-ins poderosos do ChatGPT, como navegador, intérprete de código, etc. Mas há um problema, o acesso aos plug-ins é limitado a uma lista de espera e, portanto, muitos não têm acesso a ela.

Related posts

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.

Como Salvar o Planeta e Ganhar Dinheiro

Como Salvar o Planeta e Ganhar Dinheiro

Quantas vezes você jogou fora uma garrafa de plástico, uma jarra de vidro, uma lata de alumínio ou uma embalagem de energia verde sem pensar duas vezes? Quantas vezes você desejou receber algo em troca de reciclá-los? Se você for como a maioria das pessoas, a resposta provavelmente é muitas vezes. A reciclagem é muitas vezes vista como um aborrecimento, uma tarefa árdua ou um dever que não traz nenhum benefício imediato ou tangível.

That Threat Archive: Vol 7 Black Basta

That Threat Archive: Vol 7 Black Basta

No mundo interconectado de hoje, a ameaça de ataques cibernéticos é mais prevalente do que nunca. Criminosos cibernéticos e agentes de estado-nação estão constantemente buscando explorar vulnerabilidades e roubar dados valiosos, representando um risco significativo para organizações de todos os tamanhos.

"A Fossa das Marianas Revelada: Revelando as Terríveis Verdades Ocultas do Abismo"

"A Fossa das Marianas Revelada: Revelando as Terríveis Verdades Ocultas do Abismo"

Introdução:Bem-vindos, corajosos leitores, a uma jornada que nos levará às profundezas mais sombrias do nosso planeta. Neste blog, mergulhamos no mundo enigmático da Fossa das Marianas, revelando seus segredos ocultos e revelando as verdades arrepiantes que se escondem sob sua superfície.