Métodos de Dunder de Python

Métodos de Dunder de Python
Os métodos de Dunder também são chamados de técnicas especiais que são um conjunto de métodos predefinidos no Python que podem ser usados ​​para melhorar suas classes. Porque eles começam e concluem com sublinhados duplos, como __init__ ou __str__, são facilmente identificáveis. Em Python, esses "Dunders" ou "métodos especiais" às vezes são conhecidos como "métodos mágicos.”No entanto, adotar essa frase pode fazer as coisas parecerem mais sofisticadas do que são. Essas técnicas devem ser tratadas como se tivessem aspectos de linguagem embutidos.

Os métodos de Dunder são métodos intrínsecos de python extremamente fortes que podem ser usados ​​para desenvolver classes complexas. Esta lição fornece um guia passo a passo dos métodos python e como usá-los, completo com exemplos. A consistência da popularidade de Python pode ser atribuída à popularidade da linguagem. Para métodos intrínsecos como ABS (), Len (), classificada () e muitos outros, o Python permite que você implemente seus objetos personalizados. Tudo o que você precisa fazer agora é adicionar alguns métodos exclusivos à sua classe (métodos de Dunder).

Neste artigo, usamos frases como métodos de Dunder, métodos mágicos e técnicas especiais, que se enquadram na mesma categoria. Antes de entrarmos no tutorial, você deve estar ciente de algo. Programadores de Python com experiência em programação orientada a objetos (OOP) reconhecerão o método __init__. O método Dunder recebeu o nome dos sublinhados duplos, que são conhecidos como Dunder em Python. Como existem métodos mágicos em Ruby que cumprem o mesmo propósito, alguns programadores Python se referem a eles como tal no Python. Geralmente nos referimos a eles como métodos especiais, porque é assim que o manual do Python os chama. Resultantemente, se você vir esses métodos em Python, assuma que são métodos especiais.

Exemplo 1:

Semelhante aos construtores em outras linguagens de programação, quando uma instância de uma classe é formada, a função __init__ para inicialização é invocada sem qualquer chamada. Nas classes Python, “__init__” é um método reservado. Na terminologia orientada a objetos, é referida como um objeto de função () [Código Nativo]. Este método é invocado quando um objeto é formado a partir de uma classe para permitir que a classe preencha suas propriedades. Podemos usar o operador '+' para combinar duas cordas sem a necessidade de aplicar o tipo explícito por causa desses métodos. Aqui está um exemplo detalhado de como executar isso. Declaramos nossa classe de string primeiro, seguida pela função mágica para criar um objeto. A criação de objetos é concluída após o código do driver e a localização do objeto é relatada no final.

As linhas de código acima apenas imprimem o endereço de memória do objeto String.

Exemplo 2:

Utilizaremos o método __repr__ para representar nosso objeto no exemplo a seguir. O método mágico __repr__ representa uma instância de classe em uma string. Quando tentamos imprimir um objeto de classe, a função __Repr__ é chamada, que produz uma string. Por padrão, repr () retorna a representação da string do valor fornecido à função de avaliação. Por padrão, o objeto de classe personalizado fornece uma string em suportes de ângulo que contêm o nome e o endereço do objeto. Exceto pela adição do método __repr__ depois de usarmos o método mágico para inicializar o objeto, o código é o mesmo de antes.

Aqui você pode ver que o exposto acima exibiu com sucesso a string.

Exemplo 3:

Agora adicionaremos a função __add__ à classe String. Os atributos da instância da classe são adicionados usando o método __add__ Magic. Vamos fingir que o Object1 pertence à Classe A e Objeto2 à Classe B e que essas duas classes têm um atributo chamado 'A' que contém um número inteiro. Depois que a operação Object1 + Object2 é feita, a função __add__ adiciona implicitamente os atributos desses objetos, como objeto1.a + objeto2.a. Reinicializamos a classe String no código, como você pode ver na primeira linha de código. Depois disso, utilizamos a maneira mágica de iniciar o objeto. O objeto String foi então impresso usando o método __add__. O objeto é criado após o código do driver, que é a próxima linha de código. Na última linha de código, concatenamos um objeto String com uma string.

String de classe:

Abaixo está a saída do código acima escrito.

Conclusão:

Métodos mágicos são métodos Python com sublinhados duplos no início e conclusão. Métodos ou técnicas de Dunder são outro nome para eles. Os métodos mágicos não devem ser chamados diretamente pelo usuário; Em vez disso, eles são chamados internamente pela classe em reação a uma ação específica. O método __add __ () é chamado internamente quando você usa o operador + para adicionar dois números, por exemplo. As aulas internas do Python definem muitos métodos mágicos. Para descobrir quantos métodos mágicos uma classe herdou, você pode usar a função DIR ().