O __repr__ em Python

O __repr__ em Python
O método __repr __ () de python produz uma representação textual ou de sequência de uma entidade ou um objeto. Este processo é denominado sempre que o método repr () da entidade é invocado. Você pode dizer que o método “repr” e “__repr__” podem ser usados ​​de forma intercambiável para o mesmo propósito. O texto revertido deve ser uma frase de python adequada que seria fundido para remontar a entidade se viável. Uma função “__STR__” do Python faz o mesmo, mas há uma pequena diferença entre as duas funções. O método __str__ foi projetado para produzir uma versão legível pelo homem, útil para rastrear ou exibir informações de objeto. O método __repr__, por outro lado, foi projetado para fornecer uma imagem textual "oficial" do objeto que pode ser usado para recriá -lo. Vamos nos concentrar nos dois principais métodos de entidade Python em nosso artigo hoje. Vamos começar um novo.

Exemplo 01

Abra a ferramenta Python no seu sistema, eu.e., Estamos usando o Spyder 3 aqui. Vamos dar uma olhada no método repr simples primeiro. Iniciamos nosso código inicializando uma variável de string com uma frase de string como um valor. A função de impressão é usada para imprimir a representação da string da variável "string" do console. Para isso, utilizamos o método "repr" e tomamos string como um argumento. Depois disso, aplicamos a função "repr" em algumas expressões matemáticas e tentamos imprimi -la através da mesma função, “Imprimir.”Vamos dar uma olhada na saída agora.

string = 'hy! Eu sou John'
Imprimir (repr (string))
impressão (repr (5.0/11.0))

Na saída mostrada abaixo, você pode ver que o método repr mostra a representação da string do valor da string e do cálculo da expressão matemática.

Exemplo 02

Vamos dar um olhar mais profundo para as funções "repr" e "str" ​​para limpar a diferença entre os dois. Desta vez, estamos aplicando esses métodos de representação de strings nas funções de data e hora do Python. Para obter a data e a hora do nosso código, primeiro importamos o módulo DateTime de Python por meio da palavra -chave "importar". Portanto, temos que usar a função "agora ()" com a classe DateTime no código para obter a data e hora atuais por meio de seu pacote e salvar o registro de data e hora atual na variável "TD". Agora, duas funções de impressão são usadas para imprimir a data e a hora atuais em um formato de string usando a função “__str__” e “__repr__” no objeto variável “TD.”O código foi salvo e está pronto para ser executado.

importar datetime
TD = DateTime.data hora.agora()
Impressão (TD.__str __ ())
Impressão (TD.__repr __ ())

Ao executar este código, temos dois resultados diferentes de string. O primeiro resultado é gerado pelo método "__STR__" e é bastante compreensível. Enquanto o outro é gerado usando o método “__repr__” e é bastante difícil para nós entendermos.

Exemplo 03

Vamos ter um último, mas não o menor exemplo deste artigo. Temos usado uma classe de teste definida pelo usuário em nosso código. Esta classe define e implementa sua função construtora para salvar o "nome" e "salário" em duas variáveis ​​diferentes, V1 e V2. Um objeto chamado "val" é criado para passar os dois valores para o "nome" e "salário" variável para o construtor de função de teste. A criação de um objeto "val" faz com que o construtor da classe de teste seja executado automaticamente. O método “__str__” e “__repr__” são chamados usando o objeto “val” separadamente e imprimindo os resultados. Ambas as funções não têm nada, pois o objeto "val" foi criado e não o valorizou. Pode não nos responder da maneira que queremos. Vamos verificar.

Teste de aula:
def __init __ (eu, nome, salário):
auto.v1 = nome
auto.v2 = salário
Val = teste ('John', 50000)
Imprimir (Val.__str __ ())
Imprimir (Val.__repr __ ())

Aqui, a realização padrão de ambas as funções é todo sem uso. Vamos implementar as duas funções agora.

Então, após o construtor dentro da classe, implementamos os métodos “__str__” e “__repr__” separadamente, retornando o formato da string de um texto. Ele também retorna os valores atribuídos ao construtor ao tópico de chamada, eu.e., o objeto "val". Vamos salvar o código Python recém -atualizado primeiro para ver seus resultados.

Teste de aula:
def __init __ (eu, nome, salário):
auto.v1 = nome
auto.v2 = salário
def __str __ (self):
Retornar o nome do F'User é self.v1 e seu salário é eu.v2 '
def __repr __ (self):
retornar f'user (nome = self.v1, salário = self.v2) ''
Val = teste ('John', 50000)
Imprimir (Val.__str __ ())
Imprimir (Val.__repr __ ())
Imprimir (Val.__repr __ ())

A primeira saída é causada pelo método "__STR__" e é bastante compreensível. A outra saída é compreensível, mas não tanto quanto a saída da função “__STR__”.

Conclusão

Este artigo é sobre o uso do método "__repr__" no código Python. Também discutimos o método “__STR__” usado neste artigo para comparar diferenças entre as funções. Isso também faria você entender o método “__repr__” mais claramente. Esperamos ansiosamente que este artigo seja melhor para nossos usuários para obter ajuda no Python.