0
respostas

Representação visual de objetos em listas

Olá, eu tenho uma dúvida em relação aos objetos em uma lista. Pois se coloco objetos em uma lista e uso print, é mostrada apenas o endereço na memória deles, e mesmo se eu criar uma classe str nos objetos, ainda não mostra algo diferente:

class Pessoa:
    def __init__(self, nome):
        self.nome = nome

    def __str__(self):
        return self.nome


pessoa1 = Pessoa('cleber')

pessoa2 = Pessoa('jorge')

pessoa3 = Pessoa('mauricio')

lista = [pessoa1, pessoa2, pessoa3]

print(lista)

saída:

[<main.Pessoa object at 0x000001F475343FD0>, <main.Pessoa object at 0x000001F475343160>, <main.Pessoa object at 0x000001F4753431C0>]

Eu gostaria de saber se tem alguma forma semelhante ao def__str__ para fazer com que algo personalizado apareça na representação visual de um objeto em uma lista.