Poderiam explicar com mais detalhes o que o repr faz?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Poderiam explicar com mais detalhes o que o repr faz?
Olá, Eduardo. Tudo bem?
O método __repr__ em Python é uma função especial, também conhecida como dunder method (de "double underscore"), que é usada para definir uma representação "oficial" de um objeto. Essa representação é geralmente usada para depuração e desenvolvimento.
Quando você implementa o __repr__ em uma classe, está dizendo ao Python como deve ser a representação do objeto daquela classe quando você o imprime ou o inspeciona no console. A ideia é que essa representação seja o mais informativa possível, ajudando a entender o estado interno do objeto.
Por exemplo, se você tem uma classe Jogos e define o método __repr__ assim:
class Jogos(db.Model):
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
nome = db.Column(db.String(50), nullable=False)
categoria = db.Column(db.String(40), nullable=False)
console = db.Column(db.String(20), nullable=False)
def __repr__(self):
return f'<Jogo {self.nome}>'
Quando você cria um objeto dessa classe e o imprime, o Python usará o método __repr__ para mostrar algo como <Jogo NomeDoJogo>, onde NomeDoJogo é o valor do atributo nome do objeto. Isso é muito útil para identificar rapidamente objetos em listas ou durante a depuração.
Espero ter ajudado.