PythonPOObasico

__str__

Quando você imprime um objeto ou o usa em logs, o Python chama o método __str__() para gerar uma representação legível. Sem ele, você vê algo como <__main__.Produto object at 0x...>, que não ajuda. Implementar __str__() permite que suas classes mostrem informações úteis diretamente, como em relatórios ou interfaces de usuário.

O PROBLEMA

Adicione __str__() a Produto(nome,preco) para exibir formatado.

SOBRE O CONCEITO

O método __str__() deve retornar uma string com a representação amigável do objeto. Ele é chamado automaticamente por print() e por str(). O erro mais comum é escrever print() dentro do método em vez de usar return — nesse caso, o método retorna None e o Python exibe o objeto como a representação padrão. Para formatar, use f-strings: return f"Produto: {self.nome} | R${self.preco}". Lembre-se: todo __str__() precisa de um return com uma string.

RESOLUÇÃO

Mais exercícios de POO

PYPOI2I · IntermediárioHerança simplesPYPOI1I · IntermediárioProperty e setterPYPOI5I · IntermediárioClasse abstrataPYPOO7B · BásicoMétodo estático
Ver todos os exercícios de Python