ExpertiDict

Python · Intermediário · Inglês · Técnico

repr

/ˈɹɛpɚ/substantivo

Função embutida (e método __repr__) que devolve a representação não ambígua de um objeto, voltada a desenvolvedores. Difere de str(), que gera o texto amigável para o usuário.

Onde usar

É o que aparece ao inspecionar objetos no REPL, em logs e em falhas de teste. Um __repr__ bom, como Ponto(x=1, y=2), poupa muito tempo de depuração.

Em código

class Ponto:
  def __init__(self, x, y):
    self.x, self.y = x, y

  def __repr__(self):
    return f'Ponto({self.x}, {self.y})'

print(repr(Ponto(1, 2)))

Exemplos

Add a repr so the logs show something useful.

Adicione um repr para os logs mostrarem algo útil.

The repr in the failure message is just a memory address.

O repr na mensagem de falha é só um endereço de memória.

Cuidado

Se só __repr__ existir, str() o usa como reserva; o inverso não vale, então defina primeiro o __repr__.

Origem

Abreviação de representation, representação.

Veja também

Todos os termos de Python