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 ().