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.