Bueno este fragmento consola Python interactiva dirá todo:Cómo aplicar __str__ función cuando se imprime una lista de objetos en Python
>>> class Test:
... def __str__(self):
... return 'asd'
...
>>> t = Test()
>>> print(t)
asd
>>> l = [Test(), Test(), Test()]
>>> print(l)
[__main__.Test instance at 0x00CBC1E8, __main__.Test instance at 0x00CBC260,
__main__.Test instance at 0x00CBC238]
Básicamente me gustaría conseguir tres asd
cadena impreso al imprimir la lista. También probé pprint
pero da los mismos resultados.
Según la documentación provista en la respuesta, parece que no necesito la definición __str__ si se usa __repr__. Gracias por su aporte. – dvim
@Blink_: depende de qué es exactamente lo que quiere. Utilizando la clase que he definido, compare la salida de 'print Test()' contra 'print [Test()]'. –